我创建了多个EditText
,之后我们得到了每个EditText
的值,但现在我想将该值与给定的字符串进行比较而不点击任何按钮。
答案 0 :(得分:2)
使用文字观察器,如下所示。
// replace R.id.editText1 with your edittext id
final EditText myEditText = (EditText) findViewById(R.id.editText1);
final int maxTextLength = 8;//length after that you want to compare string
InputFilter[] filterArray = new InputFilter[1];
filterArray[0] = new InputFilter.LengthFilter(maxTextLength);
myEditText.setFilters(filterArray);
myEditText.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable arg0) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence txtWatcherStr, int start, int before, int count){
if(count==maxTextLength ){
if(myEditText .getText().toString().equals("Some String")){
// do something
}
}
}
});
答案 1 :(得分:1)
您可以收听TextChange
:
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//do stuff
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//do stuff
}
@Override
public void afterTextChanged(Editable s) {
//do stuff
}
});
或者听取特定的按键:
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
//do stuff
return false;
}
});
答案 2 :(得分:1)
您可能希望使用EditText的addTextChangedListener()
方法并使用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) {}
答案 3 :(得分:0)
您可以将addTextChangeListener事件用于编辑文本。您可以对文本更改执行所需的操作
editText.addTextChangedListener(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)
{
}
});
答案 4 :(得分:0)
查看此代码段
Field1.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
public void onTextChanged(CharSequence s, int start,
int before, int count) {
...
}
});