2013-05-23 1 views
0

모두 안녕하세요.
저는 Android에서 새롭고 다양한 액티비티 (승객) 정보를 입력하기 위해 동일한 액티비티를 리콜해야하는 앱을 만들고 있습니다.을 사용하여 동일한 활동을 호출하려면

btnContinue3.setOnClickListener(new View.OnClickListener() { 

public void onClick(View view) { 
    for (int i=0; i<Pssngr; i++){ 
     passenger[i] = new 
      Intent(getApplicationContext(), Pasajeros.class); 
      startActivity(passenger[i]); 
      } 
     } 
    }); 

Pssngr는 자신의 정보를 입력받을 수있는 고유의 활동을 필요 passsengers 또는 entites의 양입니다 :
나는 다음 있습니다.
트리거가 버튼이면 액티비티는 배열을 따라 하나씩 호출됩니다.

이 코드를 시도하지만 버튼을 클릭하면 앱이 다운됩니다.
누군가가이 작업을 수행하는 방법을 찾도록 도와주십시오.
감사합니다.

+0

너무 많은 활동을 스택해서는 안됩니다. 안드로이드 앱에 대한 나쁜 관행 일뿐만 아니라 많은 액티비티가 열리는 이유와 그들이해야 할 일을 사용자에게 혼란스럽게 할 가능성이 있습니다. 간단하게. – mrres1

+0

당신은 첫 번째 Pasajeros.class에 "next passenger"버튼을 넣고 다음 활동을 열어 보도록 하시겠습니까? –

답변

1

x 개의 활동을 한 번에 시작하려고하기 때문에 충돌이 발생합니다. 당신은 것이 시나리오에서 가장 승객 각각에 대해 새로운 활동을 실행해야하는 경우 는 startActivityForResult

나는 당신이 얻으려고 노력 효과를 잇달아 열고 각 승객에 대한 해당 사용자 단 한 번 버튼을 클릭하고 활동입니다 beliver.

메소드 onClick에서 수행하십시오. 첫 번째 활동 만 시작하고 루프는 사용하지 마십시오.

당신은 Gustek 위에서 언급 한 것 외에도 onActivitiyResult

0

에 따라서 다음 활동을 시작,이 접근 할 수있는 더 좋은 방법은 하나 개의 활동이 단지를 통해 부모 (PassengersAvitivty) 활동에서 다른 값을 전달하는 것 아래 의도 : 여기

final Intent intent = new Intent(PassengersAcitivty.this, PassengersEntityActivity.class); 
    intent.putExtra("PASSENGER_FIRSTNAME", passenger[i].getName()); 
    intent.putExtra("PASSENGER_LASTNAME", passenger[i].getLastName()); 
    intent.putExtra("PASSENGER_EMAIL", passenger[i].getEmail()); 
    startActivity(intent); 

및 (PassengerEntityActivity)

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Bundle extras = getIntent().getExtras(); 
     if (extras != null) 
     { 
      firstname = extras.getString("PASSENGER_FIRSTNAME"); 
      lastname = extras.getString("PASSENGER_LASTNAME"); 
      email = extras.getString("PASSENGER_EMAIL"); 


     } 
     else 
     { 
      //Log.v("NO VALUE", "OOPS"); 
     } 
당신은 당신의 활동을 검색 할 수있는 방법입니다

필요한 경우 자세히 설명 할 수 있습니다.

관련 문제