我有一个列表视图,其中包含textviews作为其元素。设置焦点在Android的任何项目的列表视图
- 现在我想在列表的第一个项目是自动对焦,当我启动应用程序
- 如何设置重点列表的任何项目,当我点击例如在一些其他的看法按钮?
我有一个列表视图,其中包含textviews作为其元素。设置焦点在Android的任何项目的列表视图
ListView有一个setSelected方法,该方法采用列表中项目的索引。
我想我是在相同的情况。我希望能够通过按钮以编程方式控制listview的焦点。
一个解决方案是处理setFocusableInTouchMode
,但我从来没有达到使其工作。
另一种解决方案是忘记焦点并使用可检查的listview。首先设置你的列表视图,以“单选择模式”,在XML或Java中:Mylistview.setChoiceMode(1)
然后你就可以检查任何你想要的物品与Mylistview.setItemChecked(position, true)
所以,当你吃午饭的应用程序(OnCreate中),使用Mylistview.setItemChecked(0, true)
检查您的第一个项目。
然后,如果你希望你的按钮选择为例的下一个项目,使用方法:
Mylistview.setItemChecked(Mylistview.getCheckedItemPosition() + 1, true)
当项目被选中或没有可以指定的外观和有不同的预建chekable列表视图。
如果你想要更多的解释,看到我post
设置选择和设置重点是两回事。如果你只想setSelection到一些项目,那么你可以使用下面的代码。
mListView.setSelection(position);
但这绝对不意味着Listview
是focused.For聚焦,你必须使用
mListView.requestFocus();
有关点击按钮改变焦点,你可以将代码按钮的onClick()
。
对我来说,问题是由
listView.setItemsCanFocus(true);
你的ListView的解决应该是这样的:
<ListView
android:id="@+id/my_list"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:layout_margin="10dp"
android:choiceMode="none"
android:focusable="true"
android:fadeScrollbars="false">
<requestFocus />
</ListView>
mListView.setSelection(3); //or any other number
嗨 但选择列表项是相同的作为焦点ed listitem? – sarvesh 2010-07-11 18:40:38
AFAIK选择不同于焦点。 – 2015-11-28 07:22:33
嗨Robby,'setItemsCanFocus(boolean)'是什么意思? – 2016-01-30 00:40:45