Я разрабатываю приложение, которое, когда я нажимаю кнопку, запускает новую активность (ContactList.java), содержащую список, называемый mContactList. Когда действие начинается, я хочу, чтобы первый элемент списка был автоматически сфокусирован.
Я пробовал что-то вроде этого:
ContactList.java
mContactsList.requestFocus(mContactsList.getFirstVisiblePosition());
Я также создал эти два ресурса xml, чтобы гарантировать, что, когда представление сфокусировано, прямоугольник отображается вокруг элемента списка:
selected_rectangle.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:color="@color/blue"
android:width="5dp"/>
</shape>
selector_contact_list.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:drawable="@drawable/selected_rectangle"/> </selector>
По какой-то причине этот код не работает, и я не могу установить фокус на первом элементе списка (поскольку вокруг первого элемента списка не появляется прямоугольник).
Может ли кто-нибудь дать мне подсказки, что происходит?