gpt4 book ai didi

java - 传递给子 Activity 时,Bundle 变为 null

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:24 25 4
gpt4 key购买 nike

我正在使用标准的 Android Intent/Bundle 方法将数据传递给子 Activity 。

问题在于,虽然 Intent 在 Activity 开始前看起来不错,但在子 Activity 中显示为 null。我找不到其他人遇到过这个问题,所以我想我会询问有关在哪里查看/如何调试的指示。

(目标是 Android 2.1)

家长 Activity fragment :

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);

Intent i = new Intent(ctx, ArticleView.class);

i.putExtra("url", articles.get(position).url.toString());
// The following line correctly logs the URL
Log.d(TAG,"Starting article viewer with url " + i.getStringExtra("url"));

startActivityForResult(i,ACTIVITY_ARTICLE);
}

child Activity fragment :

@Override
protected void onCreate(Bundle icicle) {

super.onCreate(icicle);
setContentView(R.layout.article_view);

if (icicle != null) {
// Never called!
} else {
// Always called
Log.d(TAG,"Icicle is null - no URL passed in");
}

}

忽略 icicle 为 null 的事实并尝试从中检索状态信息(使用 getString)会导致挂起并且:

03-14 22:23:03.529: WARN/ActivityManager(52): Activity HistoryRecord{44ddd238 com.t.s/.ArticlesList} being finished, but not in LRU list

非常感谢任何提示。

最佳答案

传递给子 Activity (或任何 Activity )构造函数的不是 Intent。

Intent可以通过

获取
Intent intent = getIntent();

您所指的 Bundle icicle 是 Activity 从暂停状态恢复时使用的 Bundle。例如。如果您需要在重新启动之前保存 Activity 的任何状态,这是存储数据的地方。

关于java - 传递给子 Activity 时,Bundle 变为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5305508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com