0

这是第一个活动中的代码:

Bundle UserEntries = new Bundle();
UserEntries.putString("Venue_Name", VenueName);
UserEntries.putString("Event_Name", EventName);
UserEntries.putString("Category", Category);
UserEntries.putString("Region", Region);
Intent openGetData = new Intent(SearchDatabase.this, GetData.class);
openGetData.putExtra("UserEntries", UserEntries);
startActivity(openGetData);

这是打开的活动中的代码:

Intent i = getIntent();
    Bundle Parameters = i.getExtras();
    url = "http://192.168.1.74/android_connect/get_venues.php";
    VenueName = Parameters.getString("Venue_Name");
    EventName = Parameters.getString("Event_Name");
    Category = Parameters.getString("Category");
    Region = Parameters.getString("Region");
    if(VenueName != null){
        phpExtension = ("?Venue_Name=" + VenueName);
    }
    url = (url + phpExtension);

但是 Venue_Name 返回 null,我已经测试了代码,并且在第一个活动中它不为 null,在第二个活动中捆绑参数不为 null,但是在第二个活动中捆绑中的字符串 Venue_Name 是。有人知道我哪里出错了吗?

提前致谢

4

2 回答 2

1

问题是您只是将Bundle对象传递给附加对象,而不是字符串数据。

您需要首先检索您传递的包,然后您将能够获取添加到包中的数据:

Bundle Parameters = i.getBundleExtra("UserEntries");


另一种方法是简单地将字符串直接传递给您的意图,putExtra(String name, int value)并在您的第一个活动中摆脱这个UserEntries对象。

于 2014-02-21T17:41:51.923 回答
0

在第一个活动中这样做 -

Intent openGetData = new Intent(SearchDatabase.this, GetData.class);
openGetData.putExtra("Venue_Name", VenueName);
openGetData.putExtra("Event_Name", EventName);
openGetData.putExtra("Category", Category);
openGetData.putExtra("Region", Region);
startActivity(openGetData);
于 2014-02-21T17:39:49.377 回答