Ответ 1
Вы можете использовать тег requestFocus
:
<Button ...>
<requestFocus />
</Button>
Мне кажется странным, что он автоматически фокусирует одну из ваших кнопок, я не наблюдал этого поведения ни в одном из моих представлений.
В моем приложении для Android он автоматически фокусирует первую кнопку, которая у меня есть в моем макете, придавая ей оранжевый контур. Как настроить исходный фокус, желательно в XML, и может ли это быть ничто?
Вы можете использовать тег requestFocus
:
<Button ...>
<requestFocus />
</Button>
Мне кажется странным, что он автоматически фокусирует одну из ваших кнопок, я не наблюдал этого поведения ни в одном из моих представлений.
@Someone Где-то я пробовал все вышеперечисленное безрезультатно. Исправление, которое я нашел, это 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
. Это делает трюк.
Я нашел, что это сработало лучше всего для меня.
В AndroidManifest.xml <activity> element
добавить android:windowSoftInputMode="stateHidden"
Это всегда скрывает клавиатуру при вводе активности.
Я просто добавляю эту строку кода в onCreate()
:
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Проблема решена.
Используйте приведенный ниже код,
TableRow _tableRow =(TableRow)findViewById(R.id.tableRowMainBody);
tableRow.requestFocus();
который должен работать.
@Someone Где-то я использовал это, чтобы очистить фокус:
editText.clearFocus();
и это помогает