我的Android Studio项目中有三个活动,比如活动A,B和C。 活动A和B中每个都有两个按钮。单击它们,我需要切换到活动C。
我的问题是,我该如何区分从A和B到C的两种意图?
答案 0 :(得分:1)
如果您知道如何通过意图传递数据,为什么不能传递额外的数据来区分
之类的按钮intent.putStringExtra("Button", "A");
答案 1 :(得分:1)
您可以通过向它们传递不同的数据来区分意图
例如
// Activity 1
Intent one = new Intent(.....,...);
one.putStringExtra("source", "activity_one");
startActivity(one);
//Activity 2
Intent two = new Intent(.....,...);
two.putStringExtra("source", "sctivity_two");
startActivity(two);
目标活动
// May return null
String s = getIntent().getStringExtra("source");
if(s != null && s.equals("activity_one"){
/// do stuff
}else if(s != null && s.equals("activty_two")){
/// do stuff
}
答案 2 :(得分:0)
您可以在意向附加中添加一个标志,并检索该标志以标识源活动,例如: 在活动A中:
package:flutter/painting.dart
活动B:
btnA.setOnClickListener{
val intent = Intent(baseContext, C::class.java)
intent.putExtra("ORIGIN", "A")
startActivity(intent)
}
然后进入活动C btnB.setOnClickListener{
val intent = Intent(baseContext, C::class.java)
intent.putExtra("ORIGIN", "B")
startActivity(intent)
}
:
onCreate()