В моем приложении для Android он автоматически фокусирует первую кнопку в моей раскладке, выделяя ее оранжевым контуром. Как я могу установить начальный фокус предпочтительно в XML, и это может быть установлено в ничто?
Вы можете использовать тег requestFocus:
requestFocus
<Button ...> <requestFocus /> </Button>
Мне кажется странным, что он автоматически фокусирует одну из ваших кнопок, такого поведения я не наблюдал ни в одном из своих видов.
@ Кто-то где-то, я пробовал все вышеперечисленное безрезультатно. Исправление, которое я нашел от http://www.helloandroid.com/tutorials/remove-autofocus-edittext-android. По сути, вам нужно создать невидимый макет чуть выше проблемной кнопки:
<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px" > <requestFocus /> </LinearLayout>
Установите для :focusable и :focusableInTouchMode значение true и вызовите requestFocus. Это делает трюк.
:focusable
:focusableInTouchMode
Я нашел, что это работает лучше всего для меня.
В AndroidManifest.xml <activity> element добавить android:windowSoftInputMode="stateHidden"
<activity> element
android:windowSoftInputMode="stateHidden"
Это всегда скрывает клавиатуру при входе в занятие.
Я просто добавляю эту строку кода в onCreate():
onCreate()
this.getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Проблема решена.
Используйте код ниже,
TableRow _tableRow =(TableRow)findViewById(R.id.tableRowMainBody); tableRow.requestFocus();
это должно работать.
@ Кто-то где-то я использовал это, чтобы очистить фокус:
editText.clearFocus();
и это помогает