点击之后条目改变颜色 再点击颜色变回来 可以实现点击多个条目
已经实现
public class MainActivity extends AppCompatActivity {
private ArrayList str;
private MyAdapter myAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gv = (GridView) findViewById(R.id.gv);
str = new ArrayList();
for (int i = 0; i <10; i++) {
str.add("条目:"+i);
}
myAdapter = new MyAdapter();
gv.setAdapter(myAdapter);
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
boolean isClick = (Boolean) arg1.getTag();
System.out.println(isClick);
if(isClick == false){
//没有被点击过
isClick = true;
}else{
//点击过
isClick = false;
}
arg1.setTag(isClick);
myAdapter.notifyDataSetChanged();
}
});
}
class MyAdapter extends BaseAdapter {
@Override
public int getCount() {
return str.size();
}
@Override
public String getItem(int position) {
return str.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = new TextView(MainActivity.this);
}
TextView tv = (TextView) convertView;
tv.setText(str.get(position));
Object tag = tv.getTag();
System.out.println(tag);
if( tag == null){
tv.setTag(false);
}else{
boolean isClick = (Boolean) tv.getTag();
if(isClick){
tv.setBackgroundColor(Color.YELLOW);
}else{
tv.setBackgroundColor(Color.WHITE);
}
}
return tv;
}
}
}