Android 开发:如何使用 onKeyUp?
我是Android开发的新手,我似乎找不到有关如何使用听众的好指南。onKeyUp
在我的应用程序中,我有一个大,当有人按下并释放一个键时,我想调用一个函数,该函数将执行该函数。EditText
EditText
EditText
我不知道我如何使用onKeyUp。有人可以告诉我如何吗?
我是Android开发的新手,我似乎找不到有关如何使用听众的好指南。onKeyUp
在我的应用程序中,我有一个大,当有人按下并释放一个键时,我想调用一个函数,该函数将执行该函数。EditText
EditText
EditText
我不知道我如何使用onKeyUp。有人可以告诉我如何吗?
最正确的方法是使用 TextWatcher 类。
EditText tv_filter = (EditText) findViewById(R.id.filter);
TextWatcher fieldValidatorTextWatcher = new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (filterLongEnough()) {
populateList();
}
}
private boolean filterLongEnough() {
return tv_filter.getText().toString().trim().length() > 2;
}
};
tv_filter.addTextChangedListener(fieldValidatorTextWatcher);
校正:
有一段时间,我使用了一个通用的keyListener。我很快发现我的代码被调用了两次。一次是按键向下,一次是按键向上。我现在使用以下侦听器,并且只调用代码一次。 是关键。"if (event.getAction() == KeyEvent.ACTION_UP)"
OnKeyListener keyListener = new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_UP) {
//do something here
}
return false;
}
};
我发现活动中的每个控件都会自动调用它。如果这是您想要的,请将其添加到活动,就像添加onKeyUp()
onCreate()
例:
public boolean onKeyUp(int keyCode, KeyEvent event) {
//do something here
return false;
};
我知道这是一个老问题,但也许这将有助于其他人解决同样的问题。