我有一個列表視圖,其中包含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