gpt4 book ai didi

java - 删除 TextView 内容时禁用按钮

转载 作者:行者123 更新时间:2023-12-02 11:26:28 24 4
gpt4 key购买 nike

    public class ActivityMain extends AppCompatActivity {
Button button;
TextView tv;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=findViewById(R.id.button_chatbox_send);
button.setEnabled(false);
tv= findViewById(R.id.edittext_chatbox);
tv.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int start, int before, int count) {
if (charSequence.toString().equals("")) {
button.setEnabled(false);
} else {
button.setEnabled(true);
}

}

@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

}

@Override
public void afterTextChanged(Editable editable) {

}
});

button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view)
{
//Call other method with string from text view as parameter
}
}
});

}

我向 TextView 添加了一个 TextChangedListener 以禁用按钮,而 TextView 不包含任何字符串。在运行时,当我在 TextView 中输入字符串后,即使我删除了所有文本,按钮仍然处于启用状态。我如何解决这个问题,我在点击期间使用的方法不能使用空字符串?

编辑

问题已解决。

最佳答案

在 onTextChanged 中或在 textChanged 之后更新按钮

tv.addTextChangedListener(new TextWatcher() {

@Override
public void afterTextChanged(Editable s) {
button.setEnabled(!TextUtils.isEmpty(s.toString())); // Update button here OR

}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {

}

@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
button.setEnabled(count>0); // Update button here
}
});

关于java - 删除 TextView 内容时禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49593204/

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