gpt4 book ai didi

android - Intent 发送不是 Intent 接收

转载 作者:行者123 更新时间:2023-11-29 22:23:30 26 4
gpt4 key购买 nike

所以我试图在选择列表中的项目后启动一个新 Activity ......根据我所读的内容非常基本。我也在尝试在附加功能中发送一个值。所以我可以选择列表中的项目,然后新 Activity 开始,extras 被设置,但是 extras 中的值为空。我注意到新 Activity 的 Intent ID 与第一个 Activity 的 ID 不匹配。不知道该不该。

来自 Activity 1:

public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent displayIntent = new Intent(getApplicationContext(), DisplayActivity.class);
int index = _names.indexOf(((TextView) view).getText());
displayIntent.putExtra("ID_TAG", ids.get(index));
startActivity(displayIntent);
}

在Activity2(DisplayActivity)中

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
_hiveIndex = extras.getLong("ID_TAG");
}

为什么我得不到值(value)有什么想法吗? extras下的mMap之前在1st intent中设置为hash map,但在activity2中为null。

最佳答案

Activity1 的 displayIntent.putExtra("ID_TAG", ids.get(index)) 不使用 Bundle 对象,要放置 Bundle 对象,您需要使用 putExtras(Bundle bundle) 方法代替它。因为您正在尝试获取Actvitiy2 中的 Bundle 对象。您在 Activity1 putExtra 方法中传递的不是 Bundle 对象,但是您试图在 Activity2 中获取 Bundle 对象,因此您一无所获。displayIntent.putExtra("ID_TAG", ids.get(index));替换为displayIntent.putExtras(您的包对象)

或者您可以使用 getIntExtra(String name, int defaultValue) 方法。

关于android - Intent 发送不是 Intent 接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6554977/

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