无法正确执行 OnKeyListener
not able to perform OnKeyListener correctly
我想在编辑器中输入文本后应用少量数字验证-text.I 尝试使用 TextWatcher
来完成它,但它仅适用于高版本,不适用于低版本。
因此我想使用 OnKeyListener
事件。但这也行不通。
start_time_edit.setOnKeyListener(onSoftKeyboardDonePress);
private View.OnKeyListener onSoftKeyboardDonePress=new View.OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getKeyCode() == KeyEvent.ACTION_DOWN)
{
Toast.makeText(CreateTimesheet.this, "checking event", Toast.LENGTH_LONG).show();
}
return false;
}
};
它永远不会进入 If 语句,因为它的两个值都不匹配。
我该怎么办?
您也可以在 EditText 上使用 setOnEditorActionListener 而不是 setOnKeyListener。
这里是示例代码,请试一试。
start_time_edit.setImeActionLabel("Next", KeyEvent.KEYCODE_ENTER);
start_time_edit.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) {
if ((event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
Toast.makeText(CreateTimesheet.this, "checking event", Toast.LENGTH_LONG).show();
}
return false;
}
});
我想在编辑器中输入文本后应用少量数字验证-text.I 尝试使用 TextWatcher
来完成它,但它仅适用于高版本,不适用于低版本。
因此我想使用 OnKeyListener
事件。但这也行不通。
start_time_edit.setOnKeyListener(onSoftKeyboardDonePress);
private View.OnKeyListener onSoftKeyboardDonePress=new View.OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getKeyCode() == KeyEvent.ACTION_DOWN)
{
Toast.makeText(CreateTimesheet.this, "checking event", Toast.LENGTH_LONG).show();
}
return false;
}
};
它永远不会进入 If 语句,因为它的两个值都不匹配。
我该怎么办?
您也可以在 EditText 上使用 setOnEditorActionListener 而不是 setOnKeyListener。
这里是示例代码,请试一试。
start_time_edit.setImeActionLabel("Next", KeyEvent.KEYCODE_ENTER);
start_time_edit.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) {
if ((event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) {
Toast.makeText(CreateTimesheet.this, "checking event", Toast.LENGTH_LONG).show();
}
return false;
}
});