0
我有一個活動(MyActivity
)與兩個片段(MyFirstFragment
和MySecondFragment
)。我希望屏幕對應的兩個片段顯示相同的確切工具欄:只有'主頁'按鈕('')和右上角的菜單,只有一個項目(我們稱之爲Foo
)。不同的工具欄行爲在不同的片段中......怎麼樣?
它們之間的唯一區別應該是點擊Foo
時的行爲。 (只是爲了舉一個例子,當我在MyFirstFragment
和我按Foo
我希望它顯示一個吐司,而當我在MySecondFragment
我希望它打開一個AlertDialog)。
您認爲可能是這個的最佳實施方案? 我可以在MainActivity.java
裏面定義工具欄,但是在每個片段java文件中設置兩個不同的行爲嗎?怎麼樣?
我會添加一些代碼,這裏是我如何定義我的MyActivity.java
裏面的工具欄的時刻:
@Override
protected void onCreate(Bundle savedInstanceState) {
// [...]
Toolbar tb = (Toolbar) findViewById(R.id.toolbar_my);
setSupportActionBar(tb);
if (getSupportActionBar() != null)
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
tb.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed(); //goes to the previous fragment
}
});
// [...]
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.foo:
// do something
return true;
default:
return false;
}
}