【问题标题】:Exception while passing extras through intent通过意图传递额外内容时出现异常
【发布时间】:2012-04-25 07:10:41
【问题描述】:

我想将一个字符串从 1 个活动传递到另一个活动,尽管我参考了其他线程的许多已接受答案,但我遇到了无法调试的问题。当我如下面的代码所示注释 extras.putString 时,Toast 消息显示正确的地址,这意味着值设置正确并且代码工作正常,但是当我使用 extras.putString() 时,我得到 NullPointerException 并且应用程序由于异常而关闭。我的地址字符串中有很多 \n 字符。事实上,即使我使用 extras.putString("userAddress", "test") 我也会得到 NullPointerException

这是我想从中调用 FBShare Activity 的主要 Activity:

Intent mIntent = new Intent(this, FBShare.class);   
Bundle extras = mIntent.getExtras();
String currentAddress = getCurrentAddress(ourLocation);
Toast.makeText(getBaseContext(), getCurrentAddress(ourLocation), Toast.LENGTH_SHORT).show();
extras.putString("userAddress", currentAddress);
startActivity(mIntent);

在 FBShare Activity 中,我尝试按如下方式获取值

strAddress = getIntent().getExtras().getString("userAddress");  

Here is 一个正在做类似事情的线程。

【问题讨论】:

  • 看看@akki 的回答,你错过了mIntent.putExtras(extras);

标签: android android-intent


【解决方案1】:

试试我的代码

Intent mIntent = new Intent(this, FBShare.class);   
Bundle extras = new Bundle();
String currentAddress = getCurrentAddress(ourLocation);
Toast.makeText(getBaseContext(), getCurrentAddress(ourLocation), Toast.LENGTH_SHORT).show();
extras.putString("userAddress", currentAddress);
mIntent.putExtras(extras);
startActivity(mIntent);

希望这会奏效。

【讨论】:

    【解决方案2】:

    尝试直接在意图上添加额外内容:

    mIntent.putExtra("Key", "Value")

    此外,您还可以使用

    Intene t = getIntent();
    String k="key";
    if (t.hasExtra(k)) {
      s = t.getStringExtra(k);
      ...
    }
    

    许多 var 类型的 get/put 方法

    【讨论】:

      【解决方案3】:
      Intent mIntent = new Intent(this, FBShare.class);   
      String currentAddress = getCurrentAddress(ourLocation);
      Toast.makeText(getBaseContext(), getCurrentAddress(ourLocation), Toast.LENGTH_SHORT).show();
      mIntent.putString("userAddress", currentAddress);
      startActivity(mIntent);
      

      在您的情况下不需要捆绑,因为您似乎只是在传递一个字符串,您可以使用上面的代码..

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多