2012-01-26 32 views
0

私は単純なEditTextを持っています。アクティビティを開始する前に次のボタンを2回クリックする必要があります

  • 初めてボタンをクリックすると、次のアクティビティを起動する代わりにEditTextが消去されます。
  • ボタンを2回クリックすると、次のアクティビティが開始されます。

これは概念を表示するモックアプリケーションなので、私は電子メールアドレスで何もしないので、次のアクティビティに渡す必要はありません。

最初のプレスで次のアクティビティを開始する方法を理解できません。ここに私のコードです:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main11); 

    EditText inputEmail = (EditText) findViewById(R.id.editText1); 

    Button next = (Button) findViewById(R.id.button1); 
    next.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
     String email = inputEmail.getText().toString(); 
     if (email.equals("")) { 
      Toast.makeText(getApplicationContext(), 
       "Please Enter Your Email", Toast.LENGTH_LONG) 
        .show(); 
     } else { 
      Toast.makeText(getApplicationContext(), "Email Saved", 
      Toast.LENGTH_LONG).show(); 
      Intent myIntent = new Intent(Backup3.this, Backup4.class); 
      startActivityForResult(myIntent, 0); 
     }; 

     } 
    }); 

} 
+0

の次の属性を削除にしてみてくださいstartActivityForResult' –

+0

なぜあなたはstartActivityForResult()を使用していますか?また、電子メールが空でないときに表示される「電子メールで保存された」トーストですか? – LuxuryMode

+2

Shoul'nt EditText inputEmail =(EditText)findViewById(R.id.editText1); be "最終的な" EditText inputEmail =(EditText)findViewById(R.id.editText1); どのようにコードをコンパイルしましたか? –

答えて

0

私はあなたと同じコードを実行し、関連する問題はありませんでした。それはすべてうまくいった。次のアクティビティは、あなたが `` startActivity`を使用する代わりにすることができます終了するときに、結果を期待していない場合

public class Backup3 extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     final EditText inputEmail = (EditText) findViewById(R.id.editText1); 
     Button next = (Button) findViewById(R.id.button1); 
     next.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       String email = inputEmail.getText().toString(); 
       if (email.trim().equals("")) { 
        Toast.makeText(Backup3.this, "Please Enter Your Email", Toast.LENGTH_LONG).show(); 
       } else { 
        Toast.makeText(Backup3.this, "Email Saved", Toast.LENGTH_LONG).show(); 
        startActivity(new Intent(Backup3.this, Backup4.class)); 
       }; 
      } 
     }); 
    } 
} 
+1

助けてくれてありがとう。 startActivityForResultをstartActivityに変更しました。私のファイルをより詳細に調べたところ、エラーは私のレイアウトファイルにあり、私の活動コードではないことに気付きました。今は大丈夫だと思われます。 – user1172306

+0

回答を評価する、またはそれを受け入れたとマークすることはできますか?ありがとう! –

1

は、あなたのレイアウトファイルをチェックし、ボタン

android:focusable="true" 
android:focusableInTouchMode="true" 
+0

おかげさまで、これらのプロパティが最初にそこにどのように入っているかはわかりません。 – bsautner

関連する問題