Intent.putExtra 无法将数据传递给新活动,但 Bundle.putString 每次都能正常工作



我有一个特殊的问题。

从我的主要活动中,我将字符串放入意图并将其传递给活动,屏幕保持空白。但是,如果我按后退按钮并打开相同的活动,它会加载正常。

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(view.getContext(),ListingActivity.class);
intent.putExtra("rss-url",section.get(position).RssUrl);
startActivity(intent,bundle);
}
});

但是,如果我将相同的URL 放入捆绑包中并将其传递给同一活动,intent.putExtra则一切正常,列表按预期显示。

bundle.putString("rss-url",section.get(position).RssUrl);
startActivity(intent,bundle);

这让我非常困惑。为什么当第二次加载或屏幕旋转时,已启动活动上的列表加载全部正常。

虽然我已经通过使用捆绑包解决了我的问题,但我真的很想知道为什么 intent.putextra 不起作用。任何帮助非常感谢。

谢谢

当通过 intent.putExtra 传递额外内容时,不需要在 startActivity() 中传递捆绑包,如下所示:

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(view.getContext(),ListingActivity.class);
intent.putExtra("rss-url",section.get(position).RssUrl);
startActivity(intent);
}
});

相关内容

  • 没有找到相关文章

最新更新