2

タブレット用の Android アプリケーションを作成しようとしています。デフォルトですべてのアクティビティの上にキーボードを表示する必要があり、ユーザーが戻るキーを押したときにキーボードを非表示にする必要はありません。それを機能させるためのアイデアはありますか???

編集:カスタム EditText を使用して解決

    public class CustomEdit extends EditText {

public CustomEdit(Context context, AttributeSet attrs) {
    super(context, attrs);
    // TODO Auto-generated constructor stub
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
    // TODO Auto-generated method stub
    Log.e("Log", "onKeyPreIme");
    return true;
    //return super.onKeyPreIme(keyCode, event);
}

}

Android:キーパッドを常に表示する方法は?

4

3 に答える 3

2
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);

また、これを追加して、押されている backButton をキャッチし、何もしません。

@Override
    public void onBackPressed() {
        // do nothing
        return;

    }

また、

mEditText.setOnKeyListener(new View.OnKeyListener() {
            public boolean onKey(View v, int keyCode, KeyEvent event) {


            if (keyCode == KeyEvent.KEYCODE_BACK) 
                     // again do nothing

              return false;
                  } };

注 :追加android:windowSoftInputMode="stateAlwaysVisible"するだけで最初にキーボードが表示されますが、backButton をオーバーライドしない場合は、BackButton を押すことで閉じることができます。

于 2012-08-31T10:41:03.327 に答える
2

これをマニフェスト android:windowSoftInputMode="stateAlwaysVisible" で使用して、すべてのアクティビティに使用できます。

于 2012-08-31T10:41:45.527 に答える
1

私はこれを私のアプリケーションの1つに実装しました。次のコードが必要です。

// getting InputMethodManager system service which will handle aur
        // keyboard event
        InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);

        // restartInput method will restart the current view with its updated 
        // content. here medtName is a EditText
        imm.restartInput(medtName);

        // toggleSoftInput will responsible for showing or hiding device
        // keyboard.
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
于 2012-08-31T10:49:55.437 に答える