kik*_*iki 3 android overriding view keylistener
当按下按钮上的Enter键时,我想要一个特定的功能.当我重写onKey()时,我编写了要为KEY_ENTER执行的代码.这很好用.
setupButton.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (KeyEvent.KEYCODE_ENTER == keyCode)
{
Intent setupIntent = new Intent(getApplicationContext(),SetUp.class);
startActivityForResult(setupIntent, RESULT_OK);
}
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
但现在没有其他按键可用于按钮,例如向上,向下箭头键等.我知道这是因为我已经覆盖仅用于输入的onKey().
但有没有办法可以保留所有其他键的功能,并仅覆盖某些特定的键?
注意:所有这一切都是因为按下Enter键时未调用onClick().因此,我需要重写onKey()本身.
- 琪琪
当您在函数中返回true时,告诉Android您正在处理所有键,而不仅仅是Enter键.
您应该仅在结尾处,在if语句内返回true,并在函数末尾返回false.
setupButton.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (KeyEvent.KEYCODE_ENTER == keyCode)
{
Intent setupIntent = new Intent(getApplicationContext(),SetUp.class);
startActivityForResult(setupIntent, RESULT_OK);
return true;
}
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3192 次 |
| 最近记录: |