gpt4 book ai didi

android - 传递信息不适用于 Intent

转载 作者:行者123 更新时间:2023-11-30 04:16:24 25 4
gpt4 key购买 nike

我使用 putExtra() 将信息设置到一个 Intent 中,然后我用我的调试器检查信息是否真的存在(确实存在),然后我开始另一个 Activity :

startActivity(intent);

但是当我尝试访问存储的信息时:

Intent intent = getIntent();
Bundle b = intent.getExtras();

然后它返回 null,实际上,我用我的调试器看到 Intent 没有附加任何包。

如何解决?


编辑:这是我如何放置额外内容:

这是我使用的函数:

private Intent baseClickFunction(JSONItem item){
Intent i = new Intent(MainActivity.this, ItemActivity.class);
i.putExtra("title", item.getProductName());
i.putExtra("date", item.getTimestamp());
i.putExtra("content", item.getFullDescription());

return i;
}

mListView.setOnItemClickListener(new OnItemClickListener()
{
public void onItemClick(AdapterView<?> a, View v,int position, long id)
{

Intent intent = new Intent(baseClickFunction((JSONItem) a.getItemAtPosition(position)));

startActivity(intent);
}
});

正如我之前所说,在开始新 Activity 之前,我通过调试器检查了信息是否确实符合我的 Intent (确实如此)。

我什至尝试这样做:

Intent i = new Intent(MainActivity.this, ItemActivity.class);
i.putExtra("title", ((JSONItem) a.getItemAtPosition(position)).getProductName());
i.putExtra("date", ((JSONItem) a.getItemAtPosition(position)).getTimestamp());
i.putExtra("content", ((JSONItem) a.getItemAtPosition(position)).getFullDescription());
startActivity(i);

它不起作用

编辑:我在 AsyncTask 的“protected void onPostExecute(Void result)”中设置我正在执行此操作的监听器这一事实是否对此有任何影响?

编辑:当我在另一个项目中这样做时它有效,但在这个项目中它不会......AsyncTasks、ListViews 或 tabViews 对此有什么影响吗?

最佳答案

您应该执行以下操作:

mListView.setOnItemClickListener(new OnItemClickListener() 
{
public void onItemClick(AdapterView<?> a, View v,int position, long id)
{
startActivity(baseClickFunction((JSONItem) a.getItemAtPosition(position)));
}
});

您可能使用以下行覆盖了包...

Intent intent = new Intent(baseClickFunction((JSONItem) a.getItemAtPosition(position)));    

而且实际上不需要创建一个新的 Intent,因为您的方法已经返回了一个 Intent。

关于android - 传递信息不适用于 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9911181/

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