如何更改列表视图中使用的文本视图的背景色,直到我点击了其他项目



我遇到了这个问题,我需要在列表视图中单击项目时更改文本视图背景的颜色,并保持该颜色直到我单击其他项目。

谢谢致以亲切的问候。

您应该在getView()方法中执行此操作。每次单击项目时,都应该重新设置适配器并重新加载列表。这就是我在没有看到你的代码的情况下能告诉你的全部内容。

嘿,这看起来与这个问题类似:Android列表查看所选项目保持突出显示

您需要使用绘图控件来控制基于状态的背景颜色。

你可以试试我的想法:创建整数变量,将保存您在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));
}

相关内容

  • 没有找到相关文章

最新更新