我的 android Application 中有三个活动类。第一个活动必须将意图传递给第二个活动,第三个活动必须将意图传递给第二个活动。在这种情况下,我如何在同一个活动中处理两个意图。我想我应该使用 if,else 条件。但我怀疑是否有某种技术可以在单个活动中处理多个意图?
问问题
14606 次
3 回答
1
只是一个简单的 if else 条件:
if (intent.getStringExtra("com.example.ActivityOne.intentOne") != null) {
// do something
} else if (intent.getStringExtra("com.example.ActivityThree.intentThree") != null) {
// do something else
}
于 2013-10-24T12:58:41.150 回答
1
使用startActivityForResult()
和onActivityResult()
。这是你的解决方案。
于 2013-10-24T12:57:51.160 回答
1
如果您只是想知道Activity
当前发布的Intent
内容以知道会发生什么extras
或知道该做什么,我有时会使用任意的String extra
并检查那是什么。所以在发送类似的Activity
东西
Intent i = new Intent(FirstActivity.this, NextActivtiy.class);
i.putExtra("source", "first"); // source is the string to check where it is coming from
startActivity(i);
然后在接收Activity
Intent intent = getIntent();
String from = intent.getStringExtra("source");
if ("first".equals(from))
{
// do stuff if from first Activity
}
else
{
// do other stuff
}
检查 extras 是否不为空
if (intent.getExtras() != null) {
String from = intent.getStringExtra("source");
if ("first".equals(from)){
// do stuff if from first Activity
}
else {
// do other stuff
}
}
于 2013-10-24T13:06:54.987 回答