-
守着一只汪
捆绑包通常用于在各种Android活动之间传递数据。这取决于您要传递的值的类型,但bundle可以包含所有类型的值并将它们传递给新活动。你可以像这样使用它:Intent intent = new...Intent(getApplicationContext(), SecondActivity.class);intent.putExtra("myKey", AnyValue); startActivity(intent);您可以通过执行以下操作获取传递的值:Bundle extras = intent.getExtras(); String tmp = extras.getString("myKey");您可以在以下位置找到更多信息android-using-bundle-for-sharing-variables和假冒捆绑围绕头活动
-
跃然一笑
通过使用Bundle和Intent对象在活动之间传递数据。你首先创建一个Bundle对象Bundle b = new Bundle();然后,将存储的字符串数据anystring与bundle密钥相关联"myname"b.putString("myname", anystring);现在,创建一个Intent对象Intent in = new Intent(getApplicationContext(), secondActivity.class);将bundle对象传递b给intentin.putExtras(b);并开始第二项活动startActivity(in);在第二个活动中,我们必须访问从第一个活动传递的数据Intent in = getIntent();现在,您需要从捆绑包中获取数据Bundle b = in.getExtras();最后,获取与key命名关联的字符串数据的值 "myname"String s = b.getString("myname");
-
慕勒3428872
我必须补充一点,活动使用bundle来将数据传递给自己。当屏幕旋转或启动另一个活动时,将protected void onSaveInstanceState(Bundle outState)调用该方法,并销毁活动。稍后,将创建另一个活动实例,并public void onCreate(Bundle savedInstanceState)进行调用。创建第一个活动实例时,该包为空; 如果bundle不为null,则活动将继续由其前身启动的某些业务。Android会自动将文本保存在文本字段中,但它不会保存所有内容,并且有时会出现细微的错误。但是,最常见的反模式假设onCreate()只是初始化。这是错误的,因为它也必须恢复状态。有一个选项可以禁用这种“重新创建旋转活动”行为,但它不会阻止与重启相关的错误,它只会使它们更难以提及。另请注意,当活动将被销毁时,唯一可以保证其调用的方法是onPause()。(请参阅文档中的活动生命周期图。)