Всплывающая проблема с клавиатурой Sony Tablet

1

Кто-нибудь еще имеет представление о том, как исправить очень неприятную проблему на Sony Tablet S.

У меня есть вертикальный ScrollView и linearlayout с большим количеством TextView и некоторыми EditTexts. Когда я прокручиваю экран вниз, и появляется EditText, устройство решает дать фокус EditText и всплывать на клавиатуре.

Этого не происходит на других устройствах, таких как Asus Transformer Prime, HTC One X, Samsung Galaxy Tab и HP TouchPad (cyanogenmod).

Вещи, которые я сделал.

  • Режим мягкого ввода Windows установлен в состояние "stateHidden" в манифесте для активности.
  • В верхней части стека есть LinearLayout, который имеет фокусируемое и настраиваемое в касании значение true.
  • Код также придаст этому макету основное внимание на создании.

Это определенно проблема Sony Tablet.

У кого-нибудь еще была эта проблема и решение?

благодаря

Теги:
android-activity
scrollview
sony

3 ответа

2

Я только что установил обновление ICS. Проблема исчезла!

2

Добавьте eventListener в EditText, когда он набирает фокус, затем скройте клавиатуру

используя это:

InputMethodManager mgr = (InputMethodManager) getSystemService(
    Context.INPUT_METHOD_SERVICE);
mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);

для получения события усиления фокусировки используйте эту функцию

imageView.setOnFocusChangeListener(
    new OnFocusChangeListener() {
        public void onFocusChange(View arg0, boolean arg1) {
            // hide the keyboard using above code
            InputMethodManager mgr = (InputMethodManager) getSystemService(
                Context.INPUT_METHOD_SERVICE);
            mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);
        }
    });

Надеюсь, это поможет.

  • 0
    Спасибо за код. К сожалению, это не имеет никакого эффекта. Та же проблема с клавиатурой, которая появляется, когда я прокручиваю экран вниз.
  • 0
    Код не имеет нужного эффекта на HTC Desire, работающем 2.2.1. Клавиатура не появляется, но нижняя половина экрана прокручивается вверх (там, где должна отображаться клавиатура). Я просто публикую это, чтобы внести свой вклад на других платформах.
0

Попробуйте опубликовать runnable в представлении.

editText.post(new Runnable() {
   @Override
   public void run() {
      InputMethodManager mgr = (InputMethodManager) getSystemService(
            Context.INPUT_METHOD_SERVICE);
        mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);
   }
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню