Som*_*omk 1 java android bundle android-intent
我有一些额外的东西发送到一个新的意图.在那里它抓住捆绑并测试它是否是null.null即使我能够获得传递的值并使用它们,每次都是这样.
任何人都可以看到if语句有什么问题吗?
Intent i = getIntent();
Bundle b = i.getExtras();
int picked = b.getInt("PICK");
int correct = b.getInt("CORR");
type = b.getString("RAND");
if(b == null || !b.containsKey("WELL")) {
Log.v("BUNDLE", "bun is null");
} else {
Log.v("BUNDLE", "Got bun well");
}
Run Code Online (Sandbox Code Playgroud)
编辑:继承人创建捆绑包的地方.
Intent intent = new Intent(this, app.pack.son.class);
Bundle b = new Bundle();
b.putInt("PICK", pick);
b.putInt("CORR", corr);
b.putString("RAND", "yes");
intent.putExtras(b);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我不认为你的捆绑是问题null.这不可能是因为你得到的NullPointerException更快.
问题是您的错误消息是错误的.改变这个:
if(b == null || !b.containsKey("WELL")) {
Log.v("BUNDLE", "bun is null");
} else {
// ...
}
Run Code Online (Sandbox Code Playgroud)
对此:
if (!b.containsKey("WELL")) {
Log.v("BUNDLE", "bundle does not contain key WELL");
} else {
// ...
}
Run Code Online (Sandbox Code Playgroud)
并且捆绑包不包含此密钥的原因是因为您没有添加它.
| 归档时间: |
|
| 查看次数: |
1279 次 |
| 最近记录: |