Android 通过intent发送参数值

Android 通过intent发送参数值,android,android-layout,android-intent,Android,Android Layout,Android Intent,我想根据用户请求的数量访问同一个类。我尝试过使用putExtra,但这是两个不同类的示例,而我需要调用同一个类 这是我的密码: String dataX="dataX"; int count; while(count >0){ count--; startActivity(M_InsertData.this, M_InsertData.class); Intent toAlternative = new Intent(M_Inse

我想根据用户请求的数量访问同一个类。我尝试过使用putExtra,但这是两个不同类的示例,而我需要调用同一个类

这是我的密码:

   String dataX="dataX";
   int count;
   while(count >0){
       count--;
       startActivity(M_InsertData.this, M_InsertData.class);
       Intent toAlternative = new Intent(M_InsertData.this, M_InsertData.class);
       toAlternative.putExtra(dataX, count);

   }

调用
startActivity(M_InsertData.this,M_InsertData.class)时您真正要做的是将这两个参数强制转换为一个intent并在其上调用start活动。然后创建一个意图并向其中添加一些额外的数据,但决不将其用于任何用途。相反,while循环中的最后三行应该是

       Intent toAlternative = new Intent(M_InsertData.this, M_InsertData.class);
       toAlternative.putExtra(dataX, count);
       startActivity(toAlternative);

应该正确地将额外数据(通过intent)传递给新活动

你为什么要给同一个电话打两次?您可以在此处使用onResume()方法,而不是再次调用活动。如果需要,使用全局变量进行计数。不是两次,而是与用户输入的数量相同。它将循环调用与用户输入数量相同的类。我想我应该使用全局变量来处理循环,但是我不知道应该把它放在哪里。如果你想使用全局变量,把它的声明放在类声明之后(在你的onCreate方法之前,假设它是你的类中定义的第一个方法)。多次调用一个活动会在活动堆栈中有太多实例,这不是一种良好的用户体验,请尝试调用onResume()方法来再次尝试布局您的活动。确实,性能会受到影响,这不是最直观的做法-但是,他说他想在用户输入时进行尽可能多的活动(我想-我可能弄错了),由于他的代码几乎可以做到这一点,我认为最好是修复错误,而不是试图重写逻辑。我希望向Jonas展示一种绕过他启动多个活动想法的方法。感谢您的关注。是的,我是java android的新手,所以我的代码可能不是最直观的。所以现在,我只想尝试修正我的错误。呵呵,我把全局变量放在了onCreate方法()之前。但是当我想上同一门课的时候。全局变量返回到第一个初始化值。而我想减少全局变量。如何解决这个问题呢?所以,每次迭代循环时,代码都会初始化活动的新实例。(这是startActivity调用。)相反,您可能希望使用暂停/恢复功能启动活动一次,然后在每次迭代时返回到同一个活动(而不是创建活动的整个新实例)。