2014-11-03 6 views
1

버튼 클릭시 다른 활동을 여는 방법? 그래서 지금 내 애플 리케이션은 하나의 main 윈도우를 가지고있다 (당신이 앱을 실행할 때). 다음 메뉴 버튼을 몇 가지 버튼을 클릭하고 일부 버튼을 클릭하면이 버튼에 대한 다른 활동이 열립니다. 그래서 사용자가 자신의 세부 정보를 입력해야하는 양식이 있지만 지금은 continue 버튼을 클릭하고 추가 정보를 입력해야하는 다른 활동을 엽니 다. 이제이 버튼을 클릭하면 정보가 데이터베이스에 저장됩니다. 정상적인 페이지에 더 많은 활동을 추가하는 방법을 알고 있습니다. main 버튼 만 있지만 실제로는 알지 못합니다. 여기에 코드입니다android에서 버튼 클릭시 새 클래스/활동 열기

public class Reservation extends Activity { 

String Name; 
String Email; 
String Phone; 
String Comment; 
String DateTime; 
String numberOfPeople; 

private EditText editText1, editText3, editText2, editText4, txtDate, numberOfPeoples; //, txtTime; 
private Button btnMenues, btnCalendar, btnTimePicker; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.reservation); 

    editText1 = (EditText) findViewById(R.id.personName); 
    editText3 = (EditText) findViewById(R.id.personPhone); 
    editText2 = (EditText) findViewById(R.id.personEmail); 
    editText4 = (EditText) findViewById(R.id.personComment); 
    txtDate = (EditText) findViewById(R.id.datePicker); 
    numberOfPeoples = (EditText) findViewById(R.id.numberOfPeoples); 

    btnCalendar = (Button) findViewById(R.id.btnCalendar); 
    //btnTimePicker = (Button) findViewById(R.id.btnTimePicker); 
    btnMenues = (Button) findViewById(R.id.continueWithReservation); 


    btnMenues.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(Reservation.this, ReservationSecond.class); 
      intent.putExtra(Name, Name.getBytes().toString()); 
      intent.putExtra(Email, Email.getBytes().toString()); 
      intent.putExtra(Phone, Phone.getBytes().toString()); 
      intent.putExtra(Comment, Comment.getBytes().toString()); 
      intent.putExtra(DateTime, DateTime.getBytes().toString()); 
      intent.putExtra(numberOfPeople, numberOfPeople.getBytes().toString()); 
      startActivity(intent); 
     } 
    }); 
} 

그래서 다음 활동에 가고 setOnClickListener에 넣을 수 있는지?

업데이트 : 나는 변경하는 경우 사용자가 다음 활동을 위해 지금까지 추가하는 정보를 유지하고 그가 두 번째로 마친 후 DB에 저장하는 방법이

public void onClick(View v) { 
     Intent intent = new Intent(MainActivity.this, Contacts.class); 
     startActivity(intent); 

    } 

public void onClick(View v) { 
      Name = editText1.getText().toString(); 
      Phone = editText3.getText().toString(); 
      Email = editText2.getText().toString(); 
      Comment = editText4.getText().toString(); 
      DateTime = txtDate.getText().toString(); 
      numberOfPeople = numberOfPeoples.getText().toString(); 
      new SummaryAsyncTask().execute((Void) null); 
     } 

활동? 당신은 코멘트에 준 문제를 해결하기 위해

편집 꽤 좋은 설명을

을 제공

myBtn.setOnClickListener() { 
    public void onClick() { 
     Intent intent = new Intent(this, SecondActivity.class); 
     startActivity(intent); 
    } 
} 

Android Docs :

답변

1

당신은 Intent 사용하고 그 Intent으로 startActivity()를 호출 할 수 있습니다 Activities 사이에 정보를 전달하는 가장 쉬운 방법은 다음과 같은 추가 기능을 사용하는 것입니다.

Intent intent = new Intent(this, SecondActivity.class); 
intent.putExtra(NAME, VALUE); 
startActivity(intent); 

putExtramultiple versions

SharedPreferences를 사용하는 것입니다 정보를 저장하는 또 다른 방법은 다른 유형을 통과 수용 할 수있다. Here is a simple example

는 또한, 예를 들어, Storage라는 public 클래스를 생성하고 데이터가 (Storage.MY_DATA 같은 액세스)이 클래스의 static 회원 (들)로 표현 될 수 있도록이 응용 프로그램의 모든 지점에서 액세스 할 수있을 수 있습니다.

+0

'MainActivity'에서 이것을 사용하지만, 여기에 내가 이미 가지고있는 정보를 저장하는 방법을 사용한다면? 나는 다른 활동을 계속하면 내가 풀어 버릴 것입니까? – Goro

+0

@Goro는 내 편집을 확인합니다 – nem035

+0

그래서 corectly를 이해한다면'name = editText1.getText(). toString(); .. 및 기타는'public void onClick()'및'onClick' intent.putExtra (NAME, VALUE);를 사용하는 이벤트'여러 줄에 이름과 값을 추가하는 곳. – Goro

관련 문제