我能够根据切换按钮的状态验证文本视图。 如果切换处于开启状态,我希望最大数字为9,如果处于关闭状态,我希望最大值为14。
我的切换目前有以下内容
public void addListenerOnButton(){
unitToggle = (ToggleButton) findViewById(R.id.unitToggle);
final TextView tw1 = (TextView)findViewById(R.id.tw1);
final TextView tw2 = (TextView)findViewById(R.id.tw2);
final TextView cw1 = (TextView)findViewById(R.id.cw1);
final TextView cw2 = (TextView)findViewById(R.id.cw2);
final TextView rightUnit = (TextView)findViewById(R.id.rightUnit);
unitToggle.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
StringBuffer result = new StringBuffer();
if(tw1.getHint().toString().equals("kg")){
tw1.setHint("st");
tw2.setHint("lb");
cw1.setHint("st");
cw2.setHint("lb");
}
else{
tw1.setHint("kg");
tw2.setHint("g");
cw1.setHint("kg");
cw2.setHint("g");
}
}
});
}
tw2和cw2是我想要添加验证的textviews。 (上面只是在单击切换时设置textviews的提示。我还有一个按钮,将值(tw1,tw2,cw1和cw2)存储到共享首选项中。一旦单击此存储按钮,就会运行一些条件。 我的问题是我想添加一个条件,如果切换状态为打开,tw2或cw2为> 9,则会显示警告对话框。 (与stae相同,但有14而不是9)
任何帮助将不胜感激。
如果听起来不太清楚,请告诉我,我会为你重写。
修改即可。 我知道如何验证
if( Integer.parseInt(tw2.getText().toString())>14){
但我不知道如何比较切换的2种状态
答案 0 :(得分:1)
您只需设置exitText的最大长度即可。有关信息,请参阅此length input filter
您只需在编辑文本或任何textView组件上设置输入过滤器(editText扩展TextView)。不要使用int解析这种方式要好得多。或者至少计算字符串长度,不需要转换为Int。
要检查切换按钮状态,请设置此处描述的checkedChangeListener:
并检查按钮是否被切换,您只需使用isChecked(),也在上面的文档中进行了描述。