我试图将两个单独的信息传递到我的Android应用程序中的新活动。 我目前有这个:
Bundle dataBundle = new Bundle();
Bundle extras = getIntent().getExtras(); // student id
dataBundle.putInt("id", 0);// lesson id
Intent intent = new Intent(getApplicationContext(),com.example.ltss.dyslexia.app.LessonNotes.class);
intent.putExtras(dataBundle);
intent.putExtras(extras);
startActivity(intent);
然后我获得了访问此信息的代码。但是,添加第二个包会覆盖第一个包。
Bundle extras = getIntent().getExtras();
Bundle studentId = getIntent().getExtras();
Log.d("LessonID: ", String.valueOf(extras));
Log.d("StudentID: ", String.valueOf(studentId));
我需要单独传递信息,因为我需要检查其中一个是否为空。
可以问我要做什么?关于如何做到这一点的任何想法?或者另一种方法呢? (解析可能?)
由于
答案 0 :(得分:6)
您可以使用putExtra("bundle1", bundle1)
和putExtra("bundle2", bundle2)
,然后使用getIntent().getBundleExtra("bundle1");
和getIntent().getBundleExtra("bundle2");
来检索两者
答案 1 :(得分:2)
也许你在想这个。您可以将大量信息放在一个包中。
Bundle bundle = new Bundle();
bundle.putString("studentid", "Student0983");
bundle.putInt("lessonid", 0);
bundle.putString("moreinfo", "needed some extra data on that student");
bundle.putInt("studentincome", 4250);
Intent intent = new Intent(getApplicationContext(),com.example.ltss.dyslexia.app.LessonNotes.class);
intent.putExtras(bundle);
startActivity(intent);
现在在新活动中获取该数据
Bundle bundle = getIntent().getExtras();
Log.d("studentid: ", bundle.getString("studentid"));
Log.d("lessonid: ", bundle.getInt("lessonid"));
Log.d("moreinfo: ", bundle.getString("moreinfo"));
Log.d("studentincome: ", bundle.getInt("studentincome"));