如何通过Android Intent发送解析对象ID



我正在开发一个带有Parse后端的Android应用程序。该应用程序允许用户从列表视图中选择一行(由解析数据驱动),并转换到详细活动。我想通过使用intent将ParseObject的objectId从选定的listview单元格传递给detail活动。我可以很容易地传递大多数信息,比如名称,但它似乎不会发送objectId,尽管在Parse Dashboard上显示为String。其他人是如何处理的?

发送端:

Intent i = new Intent(getApplicationContext(), EventDetailActivity.class);
ParseObject singleEvent = groupArray.get(position);
String parseID = (String) singleEvent.get("objectId");
i.putExtra("name", parseID);
startActivity(i);

接收方:

Intent i = getIntent();
eventName.setText(i.getStringExtra("name"));

我认为使用Intent发送ParseObjectId是不可能的。可以使用Intent传递字符串ParseObjectId,然后转到下一个屏幕,再次转换为解析对象,如下所示。

    ParseObject object = new ParseObject("ClassName");
    object.getObjectId().toString();
    String str_obj = object.getObjectId().toString();
    Intent i = new Intent();
    i.putExtra("objectId", str_obj);
    // in next screen
    String getObj;
    getObj = getIntent().getStringExtra("objectId");
    ParseObject oo = new ParseObject("ClassName");
    oo.setObjectId(getObj);

否则,它被存储为public,并且可以在整个应用程序中使用。

您可以使用.getObjectId()在解析中获取Id,如下所示:

 ParseObject gameScore = new ParseObject("GameScore");
 String objectId = gameScore.getObjectId();

最新更新