点击之后条目改变颜色 再点击颜色变回来 可以实现点击多个条目
1条回答 默认 最新
- 十字路口的熊德 2016-08-20 03:20关注
已经实现
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; } }
}
解决 无用评论 打赏 举报
悬赏问题
- ¥15 两台交换机分别是trunk接口和access接口为何无法通信,通信过程是如何?
- ¥15 C语言使用vscode编码错误
- ¥15 用KSV5转成本时,如何不生成那笔中间凭证
- ¥20 ensp怎么配置让PC1和PC2通讯上
- ¥50 有没有适合匹配类似图中的运动规律的图像处理算法
- ¥15 dnat基础问题,本机发出,别人返回的包,不能命中
- ¥15 请各位帮我看看是哪里出了问题
- ¥15 vs2019的js智能提示
- ¥15 关于#开发语言#的问题:FDTD建模问题图中代码没有报错,但是模型却变透明了
- ¥15 uniapp的h5项目写一个抽奖动画