java - 包内的字符串为空

标签 java android android-intent bundle getstring

这是第一个 Activity 中的代码:

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);

这是打开的 Activity 中的代码:

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,我已经测试了代码,在第一个 Activity 中它不为空,在第二个 Activity 中 bundle 参数不为空,但第二个 Activity 中 bundle 内的字符串 Venue_Name 为空。有人知道我哪里出错了吗?

提前致谢

最佳答案

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

您需要先检索您传递的bundle,然后才能获取bundle中添加的数据:

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

<小时/> 另一种方法是使用 putExtra(String name, int value) 直接将字符串传递到您的 Intent ,并在第一个 Activity 中删除此 UserEntries 对象。

关于java - 包内的字符串为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21941311/

相关文章:

android - YouTube watchme 安卓应用异常找不到 "libffmpeg.so"

java - Android - 从 0,0 开始获取触摸位置

java - 安卓 : Using Broadcasting Receiver

java - 使用 ExecutorService 时出现 CancellationException

java - 数据库更新时实时重新加载

java - 有什么方法可以让接口(interface)中的方法使用 DAO 模式返回通用 List<> 吗?

javascript - WebView 导致应用程序崩溃

android - 如何在 Android 中打开 Instagram 的相机?

android - FLAG_ACTIVITY_REORDER_TO_FRONT 被忽略

java - 找不到符号方法drawImage(SlidingBlockModel, int, int, int, int, <nulltype>)