我遇到了这个问题,我需要在listview中点击项目时更改textview的背景颜色并保持该颜色,直到我点击其他项目。
由于 亲切的问候。
答案 0 :(得分:0)
您应该在getView()方法中执行此操作。每次单击某个项目时,都应该再次设置适配器并重新加载列表。这是我可以告诉你的所有内容,但没有看到你的代码。
答案 1 :(得分:0)
嘿,这看起来类似于这个问题: Android ListView selected item stay highlighted
您需要使用drawable来控制基于状态的背景颜色。
答案 2 :(得分:0)
您可以尝试我的想法: 创建将在onItemClick中保存位置的整数变量
public class Activity implements onItemClickListener{
private int prevPosition;
.....
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
prevPosition = position;
//call your adapter here then use notifyDataSetChanged();
}
});
CustomAdapter{
......
getView(int position, View convertView, ViewGroup parent){
//setCondition
if(prevPosition == position){
//do something here for your selected item list
textView.setBackground( getResources().getDrawable(R.drawable.selectedBackground));
}
else{
///do something here for unselected list item
layout.setBackground( getResources().getDrawable(R.drawable.unselectedBackground));
}