1

我在一种能够根据切换按钮的状态验证文本视图的方法之后。如果切换处于开启状态,我希望最大数字为 9,如果处于关闭状态,我希望最大数字为 14。

我目前有以下用于我的切换

公共无效 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 是我希望添加验证的文本视图。(上面只是在单击切换时设置文本视图的提示。我还有一个按钮,用于将值(tw1、tw2、cw1 和 cw2)存储到共享首选项中。一旦单击此存储按钮,就会运行一些条件。我的问题是我想添加一个条件,如果切换状态为 on 并且 tw2 或 cw2 为 >9 则显示警报对话框。(与 off stae 相同,但使用 14 而不是 9 )

任何帮助,将不胜感激。

如果这听起来不清楚,请告诉我,我会为你重写。


编辑。我知道如何验证

        if( Integer.parseInt(tw2.getText().toString())>14){

但我不知道如何比较切换的两种状态

4

1 回答 1

1

您可以设置 exitText 的最大长度。有关信息,请参阅此。长度输入过滤器

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

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

切换按钮

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

于 2012-04-12T13:54:32.700 回答