1

Sony Tablet S で非常に厄介な問題を解決する方法について、他の誰かが考えを持っていますか?

垂直方向の ScrollView と、多数の TextView といくつかの EditText を含む linearlayout があります。画面を下にスクロールして EditText が表示されると、デバイスは EditText にフォーカスを与えてキーボードをポップアップ表示することを決定します。

これは、Asus Transformer Prime、HTC One X、Samsung Galaxy Tab、HP TouchPad (cyanogenmod) などの他のデバイスでは発生しません。

私がやったこと。

  • Windows ソフト入力モードは、アクティビティのマニフェストで "stateHidden" に設定されています。
  • スタックの一番上に、フォーカス可能およびフォーカス可能インタッチが true に設定された LinearLayout があります。
  • コードはまた、このレイアウトに作成の焦点を当てます。

間違いなく、Sony タブレット固有の問題のようです。

他の誰かがこの問題と解決策を持っていましたか?

ありがとう

4

3 に答える 3

2

ICS アップデートをインストールしました。問題は消えました!

于 2012-05-31T14:56:39.567 に答える
2

EditText に eventListener を追加し、フォーカスを取得したらキーボードを非表示にします

これを使用して:

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);
        }
    });

うまくいけば、それは役に立ちます。

于 2012-05-23T14:31:05.520 に答える
0

ビューにランナブルを投稿してみてください。

editText.post(new Runnable() {
   @Override
   public void run() {
      InputMethodManager mgr = (InputMethodManager) getSystemService(
            Context.INPUT_METHOD_SERVICE);
        mgr.hideSoftInputFromWindow(editText.getWindowToken(), 0);
   }
});
于 2015-10-07T18:51:02.447 に答える