在一个ListView里面每一列都有一个展示的内容和一个标记, 点选某一列这个标记就会显示出来
如图:
[img]http://dl2.iteye.com/upload/attachment/0110/2935/1acc2bd9-8f82-3f63-a9b0-7e098c26dacb.png[/img]
我采用的步骤是:
1. 在LISTVIEW的onItemClickListener里面给自己的适配器一个标记
2. 在适配器代码里面如下
后面说的话: 当然也可以在OnItemClickListener里面实现, 考虑到这容易回导致重复渲染,觉得还是上面的办法好点(好吧 我承认我这个是瞎编的)
如图:
[img]http://dl2.iteye.com/upload/attachment/0110/2935/1acc2bd9-8f82-3f63-a9b0-7e098c26dacb.png[/img]
我采用的步骤是:
1. 在LISTVIEW的onItemClickListener里面给自己的适配器一个标记
mobileListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
mobileNumListAdapter.setSelectedIndex(position);
}
});
2. 在适配器代码里面如下
//给一个默认值-1
private int selectedIndex = -1;
public void setSelectedIndex(int ind) {
selectedIndex = ind;
notifyDataSetChanged();
}
//当渲染的时候 比较并决定选中与否
if (selectedIndex != position) {
convertView.setVisibility(View.VISIBLE);
} else {
convertView.setVisibility(View.GONE);
}
后面说的话: 当然也可以在OnItemClickListener里面实现, 考虑到这容易回导致重复渲染,觉得还是上面的办法好点(好吧 我承认我这个是瞎编的)
view.findViewById(R.id.mobile_item_icon).setVisibility(View.VISIBLE);
currentIndex = position;