在我的应用程序中,我想在平板电脑上执行类似于gmail应用程序的操作,在左侧有项目列表,在右边有一个包含该项目内容的片段,就像gmail app一样,这些内容在选择后正在下载。 点击一个项目后,我希望它保持高亮显示,直到我改变选择。 我达到了这个有效的地步,但只有当我在同一个项目上点击两次时,所以首先我点击,选择有效,然后项目回到’默认’状态,如果我再次点击它,选择器(对于选中)状态)是可见的。
这是我到目前为止:
1)选择器(listitem_background.xml)
2)对于列表项的顶部线性布局:
android:background="@drawable/listitem_background"
(我尝试将其设置为listselector,以及)
3)这是ListView:
4)在代码部分我试着用这个:
@Override public void onItemClick(AdapterView parent, View view, int position, long id) { view.setSelected(true); ... }
[编辑]事实上我注意到在屏幕右侧提交片段后选择丢失了。 如果我不提交片段,它就像一个魅力……我想我在选择器中需要这样的东西:
但显然不是这个……
好的,终于得到了答案。
想法是在选择器中使用state_activated
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE)
在代码中,或
android:choiceMode="singleChoice"
当然,在xml中
这是选择器的样子:
这是列表项布局应该是这样的:
...
我遇到了同样的问题,然后我只需要在项目视图xml中使用一个简单的行。
android:background="?android:attr/activatedBackgroundIndicator"
这篇文章可能有所帮助