gpt4 book ai didi

android - 在 Activity 之间传递解析对象

转载 作者:行者123 更新时间:2023-11-30 02:01:40 24 4
gpt4 key购买 nike

所以我有这个 Intent,它向另一个 Activity 发送一个名称字符串。 String 的来源来自 Parse 中的一个类的对象。

    ParseQuery<ParseObject> query1 = new ParseQuery<ParseObject>("People");
query1.getInBackground(objectId, new GetCallback<ParseObject>() {
@Override
public void done(ParseObject parseObject, ParseException e) {
if (e == null) {
//success
String personName = parseObject.getString("personName");

Toast.makeText(getApplicationContext(), personName, Toast.LENGTH_SHORT).show();

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("personName", personName);
} else {
//there is an error
}
}
});
//push ends
Intent Go = new Intent(personActivity.this, SecondActivity.class);
startActivity(Go);

我已经能够使用上面的代码获取和发送一个人名的 Toast 到另一个 Activity 中。我现在要做的是获取那个人的姓名字符串并将其上传以作为不同类中的新对象进行解析。我试过使用这个不起作用的代码。

这是第二个 Activity 中的代码,我用它从 Toast 中获取 String 并从 Main Activity 中获取 Intent 并将其作为类中的新对象发送给 Parse。

    Intent intent = getIntent();
personName = intent.getStringExtra("personName");


ParseObject newObject = new ParseObject("AnotherPeople");
newObject.put("peopleName", personName);
newObject.saveInBackground();

每当我尝试保存数据时,这段代码总是崩溃。有人可以帮帮我吗。

最佳答案

问题是你没有将数据发送到第二个 Activity ,在 done() 方法中你正在创建一个 Intent 而不是使用它,即你没有调用 SecondActivity 使用 startActivity

done() 方法之外,您正在创建另一个 Intent 并调用 SecondActivity 但这次您没有传递名称,因此名称在第二个中为空 Activity 。

简单的解决方法是,在 done 方法中调用 startActivity,以便将数据传递给 SecondActivity。

@Override 
public void done(ParseObject parseObject, ParseException e) {
if (e == null) {
//success
String personName = parseObject.getString("personName");

Toast.makeText(getApplicationContext(), personName, Toast.LENGTH_SHORT).show();

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("personName", personName);
startActivity(intent); //<----Updated here
}

关于android - 在 Activity 之间传递解析对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31365279/

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