更改由ListView Android中的longclick选择的行的颜色

时间:2016-08-13 21:13:41

标签: android listview

我希望在ListView长按时突出显示所选行。现在,我可以在照片中点击该行时执行此操作:

selected row.jpg

如何通过长按来完成此操作? 到目前为止我的setOnItemLongClickListener功能:

user_data.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
      @Override
      public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
           selected_note = adapterView.getItemAtPosition(i).toString();
           user_data.setItemChecked(i,true);
           return  true;
      }
});

1 个答案:

答案 0 :(得分:1)

编辑:然后这可能会有所帮助

在列表视图布局

android:background="@drawable/key"

创建key.xml

<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item 
android:state_selected="true"
android:drawable="@color/pressed_color"/>
<item
android:drawable="@color/default_color" />
</selector>

将此添加到listview onClickListener:

listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,long arg3) {
        view.setSelected(true);
        //your logic what you want to do
    }
});

在res / values / colors.xml中定义diff颜色

将colors.xml中的颜色定义为资源“pressed_color”或相关颜色