我正在使用ListFrament,我想要突出显示所选行。
我的选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:drawable="@color/gold" />
<item
android:state_selected="true"
android:drawable="@color/plum" />
<item
android:drawable="@color/medium_green" />
</selector>
我的ListFragment中的代码: in onCreateActivity:
this.getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
点击:
@Override
public void onListItemClick(ListView list, View v, int position, long id) {
super.onListItemClick(list, v, position, id);
String tag = this.getTag();
Log.d(TAG, "id, position " + id + " " + position);
list.setSelection(position);
}
不幸的是,这不起作用 - 当点击该行时,它只闪烁“金色”...我希望所选行保持突出显示...
提前感谢您的回答,
答案 0 :(得分:2)
试试这个
设置行类型的全局变量。我正在使用View,因为它是通用的
View previous;
在onCreateView中初始化视图
previous=new View(getContext);
当onListItemClick时 喜欢这个
public void onListItemClick(ListView list, View v, int position, long id) {
super.onListItemClick(list, v, position, id);
String tag = this.getTag();
Log.d(TAG, "id, position " + id + " " + position);
previous.setSelected(false);
v.setSeleted(true);
previous=v;
}
试试这个并回到我在我的旧应用程序中使用过这个...我肯定会工作..我希望这会对你有帮助。