EditText 上的 KeyListener:Android
KeyListener on EditText : Android
我的应用程序中有一个 editText,当用户使用 (space) 时,我想 运行 一些代码进入 it.So,请给我一些想法怎么做。
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;
}
});
您不需要 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
}
}
});
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) {
}
});
您可以为其添加一个 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);
}
}
除此之外还有三个可用的函数。
- onTextChanged
- beforeTextChanged
- 文本更改后
你可以根据需要使用它。
希望对你有帮助
谢谢。
我的应用程序中有一个 editText,当用户使用 (space) 时,我想 运行 一些代码进入 it.So,请给我一些想法怎么做。
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;
}
});
您不需要 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
}
}
});
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) {
}
});
您可以为其添加一个 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);
}
}
除此之外还有三个可用的函数。
- onTextChanged
- beforeTextChanged
- 文本更改后
你可以根据需要使用它。
希望对你有帮助
谢谢。