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的按钮时,我会创建数字。但我也得到了点。和减号 - 标志。如何在我的textview中检查我的数字中只允许一个点,并允许在我的数字顶部减去。
谢谢,先进......
答案 0 :(得分:0)
我认为你不能仅通过布局属性来实现这一点。
但是,您可以根据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
}