的Android:如何检查哪些片段/活动调用的方法
问题描述:
我的情况下是如下,我有活动和片段之间形成共同工具栏,我具有附着的方法到该工具栏(例如后退按钮),它可以被所有人调用,但是,我希望这个方法根据调用它的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;
}
答
使用putExtra和getExtra意图,并设置不同的值不同的活动中把多余的确定准确的呼叫活动/片段。
答
你可以添加一个额外的意图,然后检查它知道谁发送它。喜欢的东西:
活动1
Intent intent = ...
intent.putExtra("SENDER","activity1");
startActivity(intent);
活动接收的意图
Intent intent = getIntent();
String sender = intent.getExtras().getString("SENDER");
if(sender=="activity1")
//do
希望它能帮助!
答
另一种方法是使用反射:
if (getClass() == Activity1.class){
// Do something
}
答
你为什么不使一个工具栏和一个FrameLayout里1个共同的活动和开关这样的片段。这是更少的代码编写。这也减少了代码冗余。或者我不明白你在问什么?