У меня есть следующий макет XML для ListActivity.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ListView android:id="@+id/android:list" android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<TextView android:id="@+id/android:empty"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:text="No Contacts" />
</LinearLayout>
Моя проблема в том, что если у меня есть фокус на любом из заголовков ImageButton
s, то при нажатии вниз с помощью dpad список получает фокус на 7-й строке (в зависимости от высоты строки), а не в первом ряду . Я видел такое же поведение в приложении Fring в разделе «Контакты».
Я пытался прослушать событие OnKey для KeyEvent.KEYCODE_DPAD_DOWN
и вызвать неявный фокус на первом элементе списка, но я тоже не знаю, как это сделать.
Есть ли у вас какие-либо идеи о том, как сфокусировать первую строку списка при получении фокуса с помощью KeyEvent?