У меня есть несколько кнопок в деятельности. Каждая кнопка открывает отдельный AlertDialog . Когда приложение запускается и я нажимаю на кнопку с помощью мыши, я хочу, чтобы нажатая кнопка была в фокусе ... чтобы потом я мог перемещаться по кнопкам D-Pad. Но это не так, и, что еще хуже, фокус иногда теряется навсегда, если какой-либо другой элемент в упражнении не фокусировался ... поэтому я не могу перемещаться с помощью кнопок D-Pad ...
Я хочу уточнить, что это НЕ из-за AlertDialog , который открывается после установки actionItem.requestFocus () . Я также проверил, комментируя код открытия диалога. но не повезло
Я пытаюсь сделать это следующим образом:
public void buttonClicked(View actionItem){
//Set focus on clicked button -- but this does not work
actionItem.requestFocus();
switch(actionItem.getId()){
case R.id.btnLogin:
//Show AlertDialog 1
break;
case R.id.btnInfo:
//Show AlertDialog 2
break;
case R.id.btnClose:
//Show AlertDialog 3
break;
}
}
Я хочу, чтобы нажатая кнопка имела фокус перед открытием любого AlertDialog ... поэтому, когда AlertDialog закрывается, нажатая кнопка будет иметь фокус.
это buttonClicked событие регистрируется несколькими кнопками .. Я установил его следующим образом:
<Button
android:id="@+id/btnClose"
style="@style/button"
android:onClick="buttonClicked"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:drawableLeft="@drawable/close"
android:focusable="true"
android:text="Exit" />
<Button
android:id="@+id/btnInfo"
style="@style/button"
android:onClick="buttonClicked"
android:layout_marginRight="5dp"
android:layout_toLeftOf="@+id/btnClose"
android:layout_centerVertical="true"
android:drawableLeft="@drawable/information"
android:focusable="true"
android:text="About" />
функция buttonClicked вызывается при каждом нажатии кнопки, но эта кнопка не получает фокус ...
есть идеи у?