【问题标题】:Android check double character in stringAndroid检查字符串中的双字符
【发布时间】:2013-03-14 21:36:46
【问题描述】:
public void updateDisplay(View v)
{
    Button button = (Button) findViewById(R.id.button1);

    button.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            tempNumber.setText(tempNumber.getText().toString() + ((Button) view).getText());
        }
    });
    tempNumber.setText( tempNumber.getText().toString() + ((Button) v).getText() );


}

我的java代码

<Button
     android:id="@+id/button1"
     android:layout_width="0dip"
     android:layout_height="wrap_content"
     android:layout_weight="0.1"
     android:background="@drawable/button"
     android:onClick="updateDisplay"
     android:text="1"
     android:layout_marginTop="5dp"
     android:layout_marginBottom="5dp"
     android:textColor="@drawable/button_tx_color"
     android:textSize="15sp" />

我的xml代码

当我单击从 0 到 9 的按钮时,我会创建数字。但我也得到了 dot 。和减号 - 符号。我如何在我的文本视图中检查以在我的数字中只允许一个点,并在我的数字顶部允许减号。

谢谢,提前...

【问题讨论】:

    标签: java android regex


    【解决方案1】:

    我认为你不能单独通过布局属性来实现这一点。

    但是,您可以将验证基于this answer,它基于older one。基本上你为你的EditText 实现了一个TextWatcher,它的方法在每次文本更改时都会被调用。

    从那时起,您只需要正确的正则表达式验证,并且应该这样做:

    String pattern = "^[0-9]+\.[0-9]*$";
    String yourEditTextValue;
    if (yourEditTextValue.matches(pattern)) {
    } else {
       // set edit text valeu to empty string, show erorr
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      • 2011-11-28
      相关资源
      最近更新 更多