我试图在按一次输入按钮时运行一个方法。
如果按了2次或更多次,我不想运行该方法,我想RawInputType
和/或IMEOptions
返回正常输入按钮功能。< / p>
我该如何实现这个功能?
到目前为止我的代码
public int press = 0;
bodyText.setRawInputType(InputType.TYPE_CLASS_TEXT);
bodyText.setImeOptions(KeyEvent.KEYCODE_ENTER);
bodyText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == KeyEvent.KEYCODE_ENTER) {
if (press == 0) {
press += 1;
// Run "the" method
}
if (press >= 1) {
// Don't run "the" method ever
}
return true;
}
return false;
}
});
答案 0 :(得分:0)
看起来您的代码几乎就在那里,但似乎您无论如何都会返回true,这会消耗该事件,这意味着在按下&gt;后默认功能将无法运行。 0
当你按下== 0时,你只想返回true:
if (press == 0) {
// Run method here
return true;
} else {
// Return false to indicate that the event was not consumed so the default
// behavior is executed.
return false;
}