Контент Android EditText увеличивается при изменении ориентации - PullRequest
0 голосов
/ 29 июня 2011

У меня странная ситуация с EditText.Ситуация:

  1. установить устройство в альбомный режим
  2. ввести текст в EditText и нажать «DONE»
  3. изменить ориентацию
  4. EditText содержит дублированный текст, которыйбыл набран

код:

private EditText enterText;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    enterText = (EditText) findViewById(R.id.enterText);
}

Если я прокомментирую строку с findViewById, все будет работать правильно.

Есть идеи, почему это происходит?

РЕДАКТИРОВАТЬ: Я дважды проверил, и это происходит каждый раз, не только если комментарий, о котором я написал, комментируется ..: - \

EDIT2: Это происходит только при первом событии изменения ориентации.Каждый следующий в порядке ..

1 Ответ

1 голос
/ 29 июня 2011

Каждый раз, когда вы поворачиваете свой телефон, действие перезапускается, что, вероятно, вызывает что-то, что заставляет ваш текст как-то снова записываться. Это часть ОС и немного раздражает, вот что нужно сделать.

Если вы в своем манифесте добавляете:

android:configChanges="orientation"

к узлу активности, в котором выполняется ротация, вам придется переопределить onConfigurationChanged .

@Override
public void onConfigurationChanged(Configuration newConfig) {
  super.onConfigurationChanged(newConfig);
  setContentView(R.layout.myLayout);

}

Всякий раз, когда ваш телефон вращается, вызывается переопределенный метод, и вы можете выполнить специальную инициализацию, например, игнорировать ввод, если ранее был ввод, и тому подобное. Надеюсь, что вы попадете на правильный путь!

PS: Вы также можете передать configChanges с другими другими "значениями / конфигами". Такие как клавиатура скрытая и многие другие.

Они перечислены по по следующей ссылке

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