私は、画面上のボタン、画面中央のEditText、さらに下の2つのボタンのような、私のアプリで簡単なインターフェースを持っています。 dpadを使用してアプリケーションの要素をナビゲートしたいのですが、EditText以外はすべて正常に動作します。基本的には、ボタンをフォーカスで強調表示しますが、EditTextは表示されません。 dpad中央ボタン(キーボードが表示されないように)。たとえば、一番上の要素をハイライト表示してdpadを押すと、上のボタンがフォーカスを失い、下の2つのボタンのいずれもフォーカスを取得しないため、フォーカスを取得するEditTextのように見えますが、どのような方法でも強調表示されず、キーボードも表示されません。私がcoursor(またはデバイスに触れる)とそれをクリックすると、それはすべて大丈夫です。dpadを使ってEditTextをフォーカスさせる
は、私がチェックするOnKeyListenerを追加しようとしましたが、オフに解雇していないようだ - のEditTextが本当にフォーカスを取得していないようにとのKeyEventはのEditTextに解雇されていません。
editKanal.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN)
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER){
Toast.makeText(getApplicationContext(), "got the focus", Toast.LENGTH_LONG).show();
return true;
}
return false;
}
});
誰かが私が間違っていることを教えてもらえますか? EditTextでDPAD_CENTERが押されたときにキーボードを表示するにはどうしたらいいですか?
レイアウトに次のフォーカスを追加しましたか?同じレイアウト内のすべてのアイテムですか? –
おかげで@ Hala.m - あなたは正しい方向に私を導いてきました! 私はnextFocusDownセットを持っていましたが、要素が異なるレイアウトになっていました。私が多くのレイアウトを取り除き、すべてをRelativeに配置したところ、突然うまく動作し始めました。 – exx