如何更改listview中使用的textview的背景颜色,直到我点击其他项目

时间:2014-10-16 14:37:45

标签: android android-listview selector onitemclick

我遇到了这个问题,我需要在listview中点击项目时更改textview的背景颜色并保持该颜色,直到我点击其他项目。

由于 亲切的问候。

3 个答案:

答案 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));
}