以下是第一项活动中的代码:
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,而在第二个活动中bundle参数不是null,但是第二个activity中的bundle中的字符串Venue_Name是。任何人都有任何想法我错了吗?
提前致谢
答案 0 :(得分:1)
问题是你只是将你的Bundle
对象传递给你的额外内容,而不是String数据。
您需要首先检索您传递的包,然后您将能够获取包中添加的数据:
Bundle Parameters = i.getBundleExtra("UserEntries");
<小时/> 另一种方法是使用
putExtra(String name, int value)
简单地将字符串直接传递给你的意图,并在你的第一个活动中删除这个UserEntries
对象。
答案 1 :(得分: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);