我有一个EditText,TextView和一个按钮。当我按下它时,textnd会通过append()更新。但是当我在下次按下此按钮时,文本再次添加,更新我的textview。我怎么能处理这个? 没有像:
btn.setClickable(false);
或
btn.setVisibility(View.GONE);
因为如果EditText字段中的文本更新,则按钮必须正常工作。
答案 0 :(得分:1)
按下按钮时禁用按钮,并在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);
}
});
答案 1 :(得分:1)
基本上你需要做两件事:
btn.setEnabled(false);
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);
}
});
祝你好运!