点击之后条目改变颜色 再点击颜色变回来 可以实现点击多个条目
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; } }
}
解决 无用评论 打赏 举报
悬赏问题
- ¥35 平滑拟合曲线该如何生成
- ¥100 c语言,请帮蒟蒻写一个题的范例作参考
- ¥15 名为“Product”的列已属于此 DataTable
- ¥15 安卓adb backup备份应用数据失败
- ¥15 eclipse运行项目时遇到的问题
- ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
- ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
- ¥15 自己瞎改改,结果现在又运行不了了
- ¥15 链式存储应该如何解决
- ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站