在活动之间传递解析对象

斯坦利·桑托索

所以我有这个Intent,它向另一个活动发送一个名称字符串。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并将其发送到另一个活动中。我现在想做的是获取该人的姓名字符串,然后将其上传以解析为另一个类中的新对象。我试过使用此代码不起作用。

这是Second 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();

每当我尝试保存数据时,此代码都会不断崩溃。有谁可以帮助我吗。

密码

问题是您没有将数据发送到第二个活动,在该done()方法中,您正在创建一个意图并没有使用它,即您没有在调用SecondActivityusing startActivity

done()方法之外,您正在创建另一个意图并调用the,SecondActivity但是这次您没有传递名称,因此在第二个活动中该名称为null。

一个简单的解决方法是,在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
        } 

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章