Как кнопка может получить фокус? - PullRequest
16 голосов
/ 17 марта 2012

Есть довольно много сообщений, касающихся этой темы. Я подумал, что должен задать этот простой вопрос, чтобы прояснить это.

Мне не удается установить фокус на кнопке. Я знаю, что, наверное, скучаю по чему-то фундаментальному. Вот простой макет:

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" >

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button"
    android:focusable="true" />

 </LinearLayout>

Ниже приведен простой код в onCreate ():

        Button button = (Button)findViewById(R.id.button1);
        button.setFocusable(true);
        button.requestFocus();
        button.setText("Debug");  //Just to show the code here has been executed

Он просто не работает (т.е. кнопка не получает фокус).

Любое исправление моей ошибки или недоразумения будет высоко оценено.

1 Ответ

38 голосов
/ 17 марта 2012

обновить код:

        Button button = (Button)findViewById(R.id.button1);
        button.setFocusable(true);
        button.setFocusableInTouchMode(true);///add this line
        button.requestFocus();
        button.setText("Debug"); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...