Mar*_* S. 2 android android-listview
我有一个列表视图,当我选择一个项目时,它会填充一个详细信息视图.我想通过将其更改为绿色来显示列表视图中选择的项目.麻烦的是,在我点击同一项目两次之前,所选项目不会显示为绿色.我在选中的项目上做错了什么,使其在单击项目两次之前不会变为绿色?这是我的xml选择器文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Active list item -->
<item android:state_selected="true"
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/lv_bg_selected" />
<!-- Inactive list item -->
<item android:state_selected="false"
android:state_focused="false"
android:state_pressed="false"
android:drawable="@drawable/lv_bg_unselected_state" />
<!-- Pressed list item -->
<item android:state_pressed="true"
android:drawable="@drawable/lv_bg_pressed_state" />
</selector>
Run Code Online (Sandbox Code Playgroud)
并在onListitemClick:
@Override
public void onListItemClick(ListView l, View v, int position, long id)
{
.
.
.
v.setSelected(true);
.
.
.
}
Run Code Online (Sandbox Code Playgroud)
将默认状态添加到选择器xml,特别是作为最后一项.
<selector ...>
...
...
<!-- Normal list item -->
<item android:drawable="@drawable/lv_bg_normal_state" />
</selector>
Run Code Online (Sandbox Code Playgroud)
在列表视图中使用选择器中的android:state_activated,setChoiceMode(ListView.CHOICE_MODE_SINGLE)并setItemChecked()在单击项目时调用.
充气android.R.layout.simple_list_item_activated_1在getView方法来获取CHOICE_MODE_SINGLE工作.
有关更多详细信息,请参阅以下文章: 在列表视图中显示当前选择
| 归档时间: |
|
| 查看次数: |
5747 次 |
| 最近记录: |