android验证textview取决于切换按钮的状态

时间:2012-04-12 13:15:18

标签: android textview togglebutton android-button

我能够根据切换按钮的状态验证文本视图。 如果切换处于开启状态,我希望最大数字为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种状态

1 个答案:

答案 0 :(得分:1)

您只需设置exitText的最大长度即可。有关信息,请参阅此length input filter

您只需在编辑文本或任何textView组件上设置输入过滤器(editText扩展TextView)。不要使用int解析这种方式要好得多。或者至少计算字符串长度,不需要转换为Int。

要检查切换按钮状态,请设置此处描述的checkedChangeListener:

ToggleButton

并检查按钮是否被切换,您只需使用isChecked(),也在上面的文档中进行了描述。