我在我的應用程序中有一個簡單的界面 - 屏幕頂部的按鈕,屏幕中心的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上的鍵盤按下?
您是否在佈局中添加了下一個焦點?也是同一佈局內的所有項目? –
Thanks @ Hala.m - 你引導我走向正確的方向! 我有nextFocusDown設置,但元素是在不同的佈局 - 當我擺脫了許多佈局,並放置在一個相對的一切突然它開始工作就好了。 – exx