我想将一个字符串从一个活动传递给另一个活动,虽然我已经从其他线程的许多接受的答案中引用了,但我遇到的问题是我无法调试。当我在下面的代码中注释extras.putString时,Toast消息显示正确的地址,这意味着正确设置了值并且代码工作正常但是当我使用extras.putString()时,我得到NullPointerException并且应用程序因异常而关闭。我的地址字符串中有很多\ n个字符。事实上即使我使用extras.putString(“userAddress”,“test”)我得到NullPointerException
这是我想要调用FBShare 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一个做同样事情的线程。
答案 0 :(得分:3)
尝试直接增加意图:
mIntent.putExtra("Key", "Value")
此外,您还可以使用
检索额外内容Intene t = getIntent();
String k="key";
if (t.hasExtra(k)) {
s = t.getStringExtra(k);
...
}
获取/放置许多var类型
答案 1 :(得分:3)
试试我的代码
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 :(得分:1)
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);
在您的情况下不需要Bundle,因为您似乎只是在使用上面的代码来设置字符串..