2012-01-26 4 views
0

나는 간단한 EditText을 가지고 있으며 다른 활동을 시작하는 버튼이 있습니다.활동 시작 전에 다음 버튼을 두 번 클릭해야합니다.

  • 처음 버튼을 클릭하면 다음 활동을 시작하는 대신 EditText이 지워집니다.
  • 두 번째로 버튼을 클릭하면 다음 활동이 시작됩니다.

전자 메일 주소는 개념을 보여주는 모의 응용 프로그램이므로 아무 것도하지 않으므로 다음 활동으로 전달할 필요가 없습니다.

첫 번째 프레스에서 다음 활동을 시작하는 버튼을 얻는 방법을 알 수 없습니다. 여기 내 코드는 다음과 같습니다.

@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); 은 입니다. "최종"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

관련 문제