java - toggle.setchecked 在 onTextChanged 事件中
问题描述
当在文本框中输入数字时,我正在尝试使用切换按钮来显示数字检查的状态。我已经用 TextView 进行了设置,效果很好,但我想以图形方式替换它。以下内容不会引发错误,但状态不会随着 OnChanged 事件中的 .SetChanged 事件而改变:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ToggleButton togShortCircuit = (ToggleButton) findViewById(R.id.togShortCircuit);
togShortCircuit.setClickable(false);
final EditText txtOCVListen = (EditText) findViewById(R.id.txtOCV);
txtOCVListen.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
txtOCVListen.setFilters(new InputFilter[]{new CustomRangeInputFilter(0f, 16.0f)});
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(txtOCVListen.getText().toString().equals(null) || txtOCVListen.getText().toString().equals("")){
fltOCV = 0;
} else {
fltOCV = Float.parseFloat(txtOCVListen.getText().toString());
}
//Short Circuit
if (fltOCV < 10.6 && fltULV > 0 && fltULV <= 8.5) {
TextView lblShortCircuitStatus = (TextView) findViewById(R.id.lblShortCircuitStatus);
lblShortCircuitStatus.setText("True");
lblShortCircuitStatus.setTextColor(0xFFD51817); //Red
togShortCircuit.setChecked(true);
} else {
TextView lblShortCircuitStatus = (TextView) findViewById(R.id.lblShortCircuitStatus);
lblShortCircuitStatus.setText("False");
lblShortCircuitStatus.setTextColor(0xFF808080); //Grey
togShortCircuit.setChecked(false);
}
似乎无法弄清楚如何声明 togShortCircuit 以使其被事件识别。使用 Android Studio 3.12 并针对 Android 7.0 进行开发。
解决方案
推荐阅读
- angular - 为什么 {descendants: true} 在 ContentChildren 中不起作用?
- node.js - net.createserver 上的节点 JS 事件发射器
- haskell - 在 Haskell 中有条件地折叠列表的简洁语法
- python - 将整数值从 RPi 串行发送到 Arduino
- linux - 无法使用任何 git 命令:访问被拒绝 .gitconfig 文件错误消息
- javascript - JavaScript 中的冷调用 blur() 函数
- plotly-dash - 安装 Dash 模块时出错 - “brotli 构建轮失败”
- machine-learning - 在 ML 中,使用 RNN 进行 NLP 项目,是否需要 DATA 冗余?
- c# - 如何将“sam local start-api”指向自定义构建?
- php - 将元素移动到数组的最后一个索引,多维