我的工程里面一个activity有两个有圆角的listview,就是 自定义的 CornerListView继承ListView, 然后 我想圆角的listview A点击之后一个item会高亮 然后B点中的item时B中的item保持高亮,同时中的高亮item不高亮,也就是说,多个ListView只有一个item高亮。 此时要用到适配器的notifyDataSetChanged()方法,因为adapter.notifyDataSetChanged();是把getview方法重新走了一遍,所以,刷新了就没了以前的高亮操作,达到效果。当然,我在点A的item时去刷新B,这样就只会有A的item高亮了。
没有加notifyDataSetChanged()方法
@Override
public void onItemClick(AdapterView<?> listview, View view, int position,
long id) { if (listView1==listview) {
//this.adapter2.notifyDataSetChanged(); }else if(listView2==listview){
//this.adapter1.notifyDataSetChanged(); } }
效果如下
去掉上面的注释之后效果如下