Android 使用for调用相同的活动

Android 使用for调用相同的活动,android,arrays,android-intent,onclick,Android,Arrays,Android Intent,Onclick,大家好。 我是android新手,正在开发一款应用程序,在该应用程序中,我需要回忆相同的活动,以输入不同数量实体(乘客)的信息。 我有以下资料: btnContinue3.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { for (int i=0; i<Pssngr; i++){ passenger[i] = new Intent

大家好。
我是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]);
            }
        }
    });  
btnContinue3.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图){

对于(int i=0;i它崩溃,因为您试图一次启动x个活动。 如果您必须为每位乘客运行新的活动,那么在这种情况下,最好是

我相信你们试图得到的效果是,用户只需点击按钮一次,每个乘客的活动就会一个接一个地打开

要在方法onClick中执行此操作,您将只启动第一个活动,不要使用循环


因此,您将在

中开始下一个活动除了Gustek上面提到的以外,更好的方法是进行一个活动,并通过如下意图传递来自父(PassengerSavivity)活动的不同值:

    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)中检索它们


如果需要的话,我可以进一步澄清。

你不应该堆叠这么多的活动。这不仅是Android应用程序的坏习惯,而且它会让用户感到困惑的是为什么有那么多的活动打开,他们需要做什么。让它变得简单。你会考虑放一个“下一个乘客”吗?按钮,让它打开下一个活动?
    @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");
        }