6

TabManager 内に SherlockFragmentActivity と SherlockFragment があります。このフラグメントには、LinearLayout に RadioButtons、CheckBoxes、Button、および EditText があります。EditText を押しても、キーボードが反応しないことがあります。

2.1 AVD ではキーボードの応答に一貫性がなく、4.0 AVD ではキーボードがまったく応答せず、デバイスではキーボードの応答に一貫性がありません。他のオブジェクトを押すと、キーボードを表示する機能がアクティブになることがあります。

EditText の XML は次のとおりです。

    <EditText       android:id="@+id/EditText1"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:inputType="number"
                    android:text="20" >

4.0 AVD で動作しないという事実よりも、一貫性のないアクティビティに混乱しています。なぜこれが起こっているのか、またはキーボードを表示する方法についての提案は素晴らしいでしょう.

4

1 に答える 1

5

edittext のフォーカス リスナーを登録し、フォーカスを取得したときにソフト キーボードを開くことができます。

edit_Text.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
    if(hasFocus){
        ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
.showSoftInput(edit_Text, InputMethodManager.SHOW_FORCED);
    }else
        Toast.makeText(getApplicationContext(), "lost the focus", 2000).show();
}
});

編集:保証されていないと思います。実際、プログラムでソフトキーボードを表示する方法はありませんでした。表示される場合と表示されない場合があります。Android 4.0.3のエミュレータでは、代わりに通知バーに記号が表示され
ますemulator表示されるソフト キーボードの:
ここに画像の説明を入力

参照:
EditText のフォーカスを処理するためのイベント
ソフト キーボードを強制的に開く

于 2012-06-14T03:24:09.103 に答える