【发布时间】:2011-10-25 23:36:48
【问题描述】:
所以我设法解决了从捆绑包中检索信息的问题,但我不得不做一些我认为很奇怪的事情。我首先尝试的方法是这样的:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
list = savedInstanceState.getInt("listmenu");
}
这就是我将信息放入包中并调用活动的方式:
Intent myIntent = new Intent(MainActivity.this, NewActivity.class);
myIntent.putExtra("listmenu", R.menu.listmenu);
MainActivity.this.startActivity(myIntent);
但这没有用。它只会在第 3 行崩溃,这是我尝试 getInt 的列表(我无法找出确切原因,但它不起作用)。
然后经过一番谷歌搜索后,我尝试了这种方式:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
list = extras.getInt("listmenu");
}
在我看来,getIntent().getExtras() 只会返回 savedInstanceState。但如果是这种情况,那么我的第一种方法会奏效。所以我一定误解了 savedInstanceState 是什么,或者 getIntent() 是做什么的,那么有人可以解释一下这两者之间的区别是什么吗?
【问题讨论】:
标签: android android-intent bundle