2011-12-23 20 views
0

私は数字だけを受け入れる私のアプリにedittextを持っています。デフォルトでは0に設定されています。しかし、私はいくつかのumberを入力すると、私は左の最初の0を上書きしたいと思います。今私はedittextにいくつか問題があります。私は1を挿入すると、例えば、私はそれはedittextの値を上書きする方法

value = (EditText)findViewById(R.id.value); 
    value.addTextChangedListener(new TextWatcher() { 
     public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) 
     { 
      if(arg0.length()==0) 
      { 
       value.setText("0"); 
       int i = value.getText().length(); 
       value.setSelection(i); 
      } 
     } 

     public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, 
       int arg3) { 
      // TODO Auto-generated method stub 
      } 

     public void afterTextChanged(Editable arg0) { 
      // TODO Auto-generated method stub 
     } 
    }); 

どのように私はそれを達成することができ、1、ない01.私のコードは次のようであるどのようにしたいですか?それとも可能ですか?

+0

は、** 0 **ヒント最初に示されますか?ヒントの場合は、EditTextのプロパティ** android:hint = "0" **を設定します。 – Ian

答えて

3

xmlファイルにandroid:hintを設定できます。

例えば、

<EditText 
android:id="@+id/value" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:hint="0"/> 
+0

あなたに感謝します。それは本当に私を助けた –

0

beforeTextChanged関数呼び出しで文字列を空に変更し、onTextChangedをそのまま使用できます。

+0

よろしくお願いします。それは本当に私を助けた –

0

value.setText( "0"); use value.setHint( "0");

+0

あなたに感謝します。それは本当に私を助けた –

0

最初に0を表示するには、setHint(int)メソッドを使用します。ユーザーが何かを入力すると自動的に消去され、必要に応じてテキストを取得できます。

+0

あなた親愛なるありがとう。それは本当に私を助けた –

2

あなたが探しているものを達成するための多くのオプションがあります。既に言及したもののほかに、私はEditTextの属性android:selectAllOnFocus="true"が見て価値があるかもしれないと言っています。デフォルト値には便利で、値を変更するとバックスペーシングは不要です。

+1

あなた親愛なるありがとう。それは本当に私を助けました –

関連する問題