Android以编程方式将ListView行设置为已激活

时间:2013-11-17 17:43:25

标签: android listview android-listview

我正在使用以下选择器更改设置行的背景时选择

<item android:state_activated="true" android:drawable="@drawable/row_sel" />
<item android:drawable="@drawable/row_neut"/>   

在按字段点击行时,它可以正常工作。我想要做的就是以编程方式设置要选择的行。我认为这将是微不足道的,但经过一个多小时的尝试和谷歌搜索,我找不到答案。

我尝试过的事情:

  • listView.setSelection(0)
  • listView.setItemChecked(0)
  • listView.getItem(0).setActivated(true) //fails: getChildCount() is 0
  • adapter.notifyDataSetChanged()listView.invalidate() //out of desperation

我显然可以在适配器中使用hack(即每次分配选定/中性Drawable),但我宁愿让它干净。

2 个答案:

答案 0 :(得分:1)

你可以使用它,

listView.performItemClick(listView,position,listView.getItemIdAtPosition(position));

答案 1 :(得分:-1)

USer listView.setSelection(0);

如果您想要选择列表视图的背景颜色,可以使用Transition