我的情况如下,我在活动和片段之间有一个常用工具栏,我有一个方法附加到这个工具栏(如一个可以被所有人调用的后退按钮,但是,我希望这个方法根据调用它的activity / fragment来表现不同。那么我的代码在这个方法中应该是什么样的?
这是我的代码
public boolean onSupportNavigateUp(){
Intent mainActivity=new Intent(this,main_activity.class);
mainActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(mainActivity);
this.finish();
return true;
}
答案 0 :(得分:0)
使用意图使用putExtra和getExtra,并为put中的不同活动设置不同的值以识别确切的调用活动/片段。
答案 1 :(得分:0)
您可以在意图中添加额外内容,然后检查它以了解发送者的身份。类似的东西:
活动1
Intent intent = ...
intent.putExtra("SENDER","activity1");
startActivity(intent);
接收意图的活动
Intent intent = getIntent();
String sender = intent.getExtras().getString("SENDER");
if(sender=="activity1")
//do
希望它有所帮助!
答案 2 :(得分:0)
另一种方法是使用反射:
if (getClass() == Activity1.class){
// Do something
}
答案 3 :(得分:0)
为什么不使用工具栏和framelayout进行1次常见活动并切换这样的片段。编写的代码较少。这也减少了代码冗余。或者我不明白你在问什么?