java - 如果任何 EditText 为空,如何禁用按钮?

标签 java android button android-edittext

我尝试过使用 TextWatcher,但如果我创建多个 TextWatcher(每个 EditText 一个),则当我开始填写任何 EditText 时,该按钮就会启用。

示例:

public class MainActivity extends AppCompatActivity {

    EditText numberOneEditText;
    EditText numberTwoEditText;
    EditText numberThreeEditText;
    TextView sumTextView;

    public void calculate(View view) {


        String numberOneString = numberOneEditText.getText().toString();
        String numberTwoString = numberTwoEditText.getText().toString();
        String numberThreeString = numberThreeEditText.getText().toString();

        double numberOneDouble = Double.parseDouble(numberOneString);
        double numberTwoDouble = Double.parseDouble(numberTwoString);
        double numberThreeDouble = Double.parseDouble(numberThreeString);

        double sum = numberOneDouble + numberTwoDouble + numberThreeDouble;

        sumTextView.setText(sum.getText().toString())

   }



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        numberOneEditText = findViewById(R.id.numberOneEditText);
        numberTwoEditText = findViewById(R.id.numberTwoEditText);
        numberThreeEditText = findViewById(R.id.numberThreeEditText);
        sumTextView = findViewById(R.id.sumTextView);

    }
}

最佳答案

使用TextWatcher 。它将解决您的问题:

editText.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

       if(s.toString().trim().length()==0){
            btn.setEnabled(false);
          } else {
            btn.setEnabled(true);
          }
    }

    @Override
    public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
        // TODO Auto-generated method stub
    }

    @Override
    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
    }
});

关于java - 如果任何 EditText 为空,如何禁用按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50563032/

相关文章:

具有时间相关任务的 Android 性能

jquery - FancyApps 中不显示关闭按钮

python - Tkinter 中的按钮错误 - 选择文件、添加其路径

java - 带有 JPA/Hibernate 的 Spring MVC 中是否仍然需要 DAO

Android 标签栏,哪个 Activity 项目与相邻项目重叠(见图)

java - 如何在 JavaScript 中迭代支持 bean 字符串列表

android - 访问 Samsung Galaxy S7 Micro SD 卡的根目录

android - 按钮点击只工作一次

java - 使用 Vaadin 布局中的组件位置

java - 加速 Dijkstra 的多种解决方案会降低性能吗?