Android 按钮和编辑文本检查
我有一个编辑文本、文本视图和一个按钮。当我按下时,textview会通过append()更新。但是当我下次按下这个按钮时,文本再次添加,更新我的文本视图。我该怎么办? 没有类似于:Android 按钮和编辑文本检查,android,button,android-edittext,textview,Android,Button,Android Edittext,Textview,我有一个编辑文本、文本视图和一个按钮。当我按下时,textview会通过append()更新。但是当我下次按下这个按钮时,文本再次添加,更新我的文本视图。我该怎么办? 没有类似于: btn.setClickable(false); 或 因为如果EditText字段中的文本更新,按钮必须工作。按下按钮时禁用按钮,更改EditText中的文本时启用按钮,例如: Button btn = (Button) findViewById(R.id.mybutton); btn.setOnClickList
btn.setClickable(false);
或
因为如果EditText字段中的文本更新,按钮必须工作。按下按钮时禁用按钮,更改EditText中的文本时启用按钮,例如:
Button btn = (Button) findViewById(R.id.mybutton);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
appendToEditText();
btn.setClickable(false);
}
});
EditText editText = (EditText)findViewById(R.id.myedittext);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
// Not Used
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// Not Used
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
btn.setClickable(true);
}
});
按下按钮时禁用,更改编辑文本中的文本时启用,例如:
Button btn = (Button) findViewById(R.id.mybutton);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
appendToEditText();
btn.setClickable(false);
}
});
EditText editText = (EditText)findViewById(R.id.myedittext);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
// Not Used
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// Not Used
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
btn.setClickable(true);
}
});
基本上你需要做两件事:
- 按下按钮后立即禁用该按钮,以通过调用
btn.setEnabled(false)防止使用相同文本更新TextView两次代码>
- EditText内容更改后,立即重新启用按钮。这可以通过TextWatcher实现
editText.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) {
btn.setEnabled(true);
}
});
祝你好运 基本上你需要做两件事:
- 按下按钮后立即禁用该按钮,以通过调用
btn.setEnabled(false)防止使用相同文本更新TextView两次代码>
- EditText内容更改后,立即重新启用按钮。这可以通过TextWatcher实现
editText.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) {
btn.setEnabled(true);
}
});
祝你好运 btn.setEnabled(false);btn.setEnabled(false);