gpt4 book ai didi

java - 当两个 editText 不为空时,设置按钮处于 Activity 状态

转载 作者:行者123 更新时间:2023-12-02 02:31:38 25 4
gpt4 key购买 nike

我想仅当两个 EditText 不为空时才将按钮设置为 Activity 状态。我尝试使用 TextWatcher 来实现这一点,但它并不能很好地工作 - 即使删除了价格输入中的所有文本,按钮仍保持 Activity 状态。这是我的代码:

    final EditText titleEdit = findViewById(R.id.name);
final EditText priceEdit = findViewById(R.id.price);
final Button addButton = findViewById(R.id.add);


titleEdit.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) {
if (!TextUtils.isEmpty(titleEdit.getText().toString().trim()) && !TextUtils.isEmpty(priceEdit.getText().toString().trim()))
addButton.setEnabled(true);
else addButton.setEnabled(false);
}

@Override
public void afterTextChanged(Editable s) {
}
});

我尝试了 Stackoverflow 上的一些解决方案,但仍然是一样的。我应该在代码中更改什么?

最佳答案

定义以下变量为全局变量

Boolean text1= false;
Boolean text2 = false;

完整代码

public class classname extends AppCompatActivity {

Boolean text1= false;
Boolean text2 = false;

@Override
protected void onCreate(Bundle savedInstanceState) {

//Your code

titleEdit.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) {
if (s.length() > 0 ){
text1 = true;
if(text1 && text2){
addButton.setEnabled(true);
}
}else{
text1 = false;
addButton.setEnabled(false);
}
}

@Override
public void afterTextChanged(Editable s) {
}
});

priceEdit.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) {
if (s.length() >0 ){
text2 = true;
if(text1 && text2){
addButton.setEnabled(true);
}
}else{
text2 = false;
addButton.setEnabled(false);
}
}

@Override
public void afterTextChanged(Editable s) {
}
});
}
}

关于java - 当两个 editText 不为空时,设置按钮处于 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47002289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com