[英]KeyListener on EditText : Android
我在我的应用程序中有一个editText,我想在用户使用(空格)时运行一些代码。所以,请给我一些关于如何做到这一点的想法。
您不需要KeyListener
。 使用TextWatcher :
((EditText)findViewById(R.id.your_edit_text)).addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if(s != null && s.length() > 0 && s.charAt(s.length() - 1) == ' '){
//dp something
}
}
});
edittext.setOnKeyListener(new OnKeyListener(){
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_SPACE)) {
//do code
return true;
}
return false;
}
});
您可以为它添加textListener。 在onCreate中定义textListener!
例如,我这样做是为了检查用户是否输入了正确的电子邮件!
input_Mobile.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
checkmobile=input_Mobile.getText().toString();
mobilelength=checkmobile.length();
if(ss.contentEquals("")){
b1.setEnabled(false);
}
if(mobilelength==10){
b1.setEnabled(true);
}else {
b1.setEnabled(false);
}
}
除此之外,还有三种功能可用。
你可以根据你的需要使用它。
希望它能帮到你
谢谢 。
titleBox.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
int ssidLength = charSequence.length();
if (ssidLength == 0) {
return;
}
if (charSequence.charAt(ssidLength - 1)==' ')
{
//Do stuff here
}
}
@Override
public void afterTextChanged(Editable editable) {
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.