0
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 までのボタンをクリックすると、数字が作成されます。しかし、私もドットを得ました。とマイナス記号。テキストビューをチェックインして、番号にドットを 1 つだけ許可し、番号の先頭にマイナスを許可するにはどうすればよいですか。

ありがとう、高度な...

4

1 に答える 1

0

レイアウト属性だけでこれを達成できるとは思いません。

ただし、この回答に基づいて検証を行うことができます。これは、古い回答に基づいています。基本的に、テキストが変更されるたびにメソッドが呼び出される を に実装TextWatcherします。EditText

それ以降は、適切な正規表現の検証のみが必要であり、次のようなことが必要です。

String pattern = "^[0-9]+\.[0-9]*$";
String yourEditTextValue;
if (yourEditTextValue.matches(pattern)) {
} else {
   // set edit text valeu to empty string, show erorr
}
于 2013-03-25T12:00:51.390 に答える