2017-08-14 106 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個共同的活動和開關這樣的片段。這是更少的代碼編寫。這也減少了代碼冗餘。或者我不明白你在問什麼?