主要思路:
在listview的适配器中写一个设置位置的方法,如:
public void setSelectedPos(int pos){
this.pos=pos;
}
listview设置item监听,在监听中将当前选中的item传给适配器并通知后台刷新界面,如:
classlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
classAdapter.setSelectedPos(position);
classAdapter.notifyDataSetChanged();
// tv_select.setText();
}
});
最后,在适配器的getview方法中判断生成的view位置是否是选择的位置,如果是则设置背景为白色,否则,为另一个颜色,例如:
if (pos==position) view.setBackgroundColor(Color.WHITE); else view.setBackgroundColor(context.getResources().getColor(R.color.mygray));
需要特别注意的就是在监听中设置之后要通知后台刷新界面,不然不会出现效果。