2017-08-14 109 views
0

我的情况下是如下,我有活动片段之间形成共同工具栏,我具有附着的方法到该工具栏(例如后退按钮),它可以被所有人调用,但是,我希望这个方法根据调用它的activity/fragment来行为不同。那么在这个方法里我的代码应该是什么样的?的Android:如何检查哪些片段/活动调用的方法

这里是我的代码

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

使用putExtra和getExtra意图,并设置不同的值不同的活动中把多余的确定准确的呼叫活动/片段。

0

你可以添加一个额外的意图,然后检查它知道谁发送它。喜欢的东西:

活动1

Intent intent = ... 
intent.putExtra("SENDER","activity1"); 
startActivity(intent); 

活动接收的意图

Intent intent = getIntent(); 
String sender = intent.getExtras().getString("SENDER"); 
if(sender=="activity1") 
//do 

希望它能帮助!

0

另一种方法是使用反射:

if (getClass() == Activity1.class){ 
    // Do something 
} 
0

你为什么不使一个工具栏和一个FrameLayout里1个共同的活动和开关这样的片段。这是更少的代码编写。这也减少了代码冗余。或者我不明白你在问什么?