2016-05-21 1 views
0

これは簡単なようですが、どのように行うのかわかりませんし、検索にもかかわらず表示されません! (他の人が重複していると思われるかもしれません)値がまだヌルの場合にonclicklistenerをキャンセルする方法

私の意図をパッキングするときに "titleString"が初期化されないため、if文は機能しません。何か案は?

final Button submitButton = (Button) findViewById(R.id.submitButton); 
     submitButton.setOnClickListener(new OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       log("Entered submitButton.OnClickListener.onClick()"); 



       if (mTitleText.getText() != null) { 
        String titleString = mTitleText.getText().toString(); 
       } 
       else { 
        Toast.makeText(getBaseContext(),"Please choose Vegetable", Toast.LENGTH_LONG).show(); 

       } 

       String fullDate = dateString + " " + timeString; 

       Intent data = new Intent(); 
       VegItem.packageIntent(data, titleString, fullDate); 

       setResult(Activity.RESULT_OK, data); 
       finish(); 

      } 
     }); 
+0

スクラッチ!これを将来的に探している人のために修正しました: String titleString = mTitleText.getText()。toString(); \t \t \t \t文字列fullDate = dateString + "" + timeString; \t \t \t \tインテントデータ=新しいインテント(); // \t \t \t \t VegItem.packageIntent(data、titleString、priority、status、fullDate); \t \t \t \t(titleString.equals(NULL))場合 \t \t \t \t { \t \t \t \t \t Toast.makeText(getBaseContext()、 "野菜を選択してください"、Toast.LENGTH_LONG).SHOW();他 \t \t \t \t { \t \t \t \t \t VegItem.packageIntent(データ、titleString、fullDate) \t \t \t \t} \t \t \t \t。 \t \t \t \t \t setResult(Activity.RESULT_OK、data); \t \t \t \t \t finish(); \t \t \t \t –

+0

どのように修正しましたか? –

答えて

2

あなたがクリックリスナーを無効にしたい場合は、その内のコードの残りの部分を実行せずにクリックリスナを終了したい場合は、単に、

submitButton.setOnClickListener(null); 

を呼び出すだけ呼び出し

return; 
+0

リターン!それは私の心を完全にスリップしました。 –

0

String titleStringをこのメソッドから取り出し、それをクラス変数として宣言します。

String titleString =""; 

次に、他の方法でも値を変更できます。

0

私はmTitleText.getText() != nullnullを返さないと思いますので、代わりにmTitleText.getText().toString() != nullを使用してください。

editTextが空の場合、 'getText() `は空の文字列を返します。

関連する問題