我想在将文本输入编辑文本之后应用少量的数字验证,我尝试使用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语句,因为这两个值都不匹配。
我该怎么办?
发布于 2018-04-02 07:28:29
您还可以在setOnEditorActionListener上使用setOnKeyListener而不是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;
}
});https://stackoverflow.com/questions/49606921
复制相似问题