редактировать текст фокус не работает Android - PullRequest
3 голосов
/ 18 октября 2011

У меня есть макет, в котором EditText заполняется динамически нажатием кнопки «Создать EditText».

    public void onCreateButtonPressed(View view) {
     EditText et = new EditText(this);
     et.setOnFocusChangeListener(new OnFocusChangeListener() {
         @Override
         public void onFocusChange(View v, boolean hasFocus) {
             int id = v.getId();
             Log.d(TAG, "EditText: "+id+"Focus state:"+hasFocus);
         }
     });
     LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
     et.setFocusableInTouchMode(true);
     et.setFocusable(true);
     et.requestFocus();
     et.setId(id++);
     layout.addView(et, params);
 }

Работает хорошо. Но когда я изменяю фокус на некоторый текст редактирования и нажимаю кнопку «Создать EditText», курсор мигает во вновь созданном EditText, но набранный текст не показывает вновь созданный EditText. Поиск в Google и SOF позволяет использовать функцию requestFocus (). Но я уже использую requestFocus () во вновь созданном EditText.

Я отчаянно ищу решение этой проблемы. Любые предложения приветствуются.

-Regards, Рон

1 Ответ

0 голосов
/ 19 октября 2011

На самом деле я обнаружил точную проблему, в предыдущем коде я запрашивал фокусировку, а затем добавлял вид к макету. Но мы должны сделать обратное. Сначала необходимо добавить представление к макету, а затем requestFocus к тексту редактирования. Это решение проблемы.

-Regards, Рон ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...