2011-12-06 13 views
1

私のアプリケーションでEditTextフィールドを使用しています。私もaddTextChangedListenerを追加しました。 onTextChangedメソッドで、私はsquareFunctionを呼び出していました。コードは次のようになります。EditFieldをクリアしたときにEditFieldにデフォルト値を設定する方法は?

value = (EditText)findViewById(R.id.amount); 
value.addTextChangedListener(new TextWatcher() { 
    public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) 
      { 
       squareFunction(); 

      } 

      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 

      } 
     }); 

今私の問題:=入力番号の値が正しく取得されています。しかし、私がEditFieldをクリアすると、エラーが表示され、「強制終了」をお願いします。私はそれのすべての文字がクリアされている場合、私のeditFieldの値を0にしたいです。出来ますか?はいの場合、どのようにそれを行うことができます。可能であればPlzを私はあなたが試した願ってい

if(arg0.length()==0) 
{ 
value.setText(""); 
} 

)(...

答えて

2

でこれを使用

if(value.getText().toString().equalsIgnoreCase("")) 
{ 
Log.i(TAG,"EditText Clear"); 
//set value to 0 
} 
else 
{ 
squareFunction(); 
} 

のような条件を追加してみなければならないコードと説明この基本的なことは、強制終了時にエラーログが言っていることですか?

+0

申し訳ありません。私はアンドロイドに新しいです。私はちょうど基本を勉強しています。私はその論理を試みました。 arg0.length()== 0の代わりにarg0.length()== 1でチェックしました。タイムリーに助けてくれてありがとう。 –

2

あなたはまた、onTextChanged内afterTextChanged

0

エラーは、値を消去するときに正方形を実行しようとする関数が原因です。平方関数をafterTextChangedに移動し、onTextChangeで編集テキストの長さをチェックします。ゼロの場合、テキストを0に設定します。

関連する問題