@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//no inspection SimplifiableIfStatement
if (id == R.id.action_filter) {
FragmentManager fm = getSupportFragmentManager();
if (userType.equals("İş Arayan"))
filterDialogTitle = "İş İlanları Filtre";
else if (userType.equals("Hizmet Arayan"))
filterDialogTitle = "Hizmet İlanları Filtre";
FilterDialogFragment editNameDialogFragment = FilterDialogFragment.newInstance(filterDialogTitle);
editNameDialogFragment.show(fm, "fragment_edit_name");
return true;
}
return super.onOptionsItemSelected(item);
}
我在Fragment中添加了,但是它没有被调用,如果我在MainActivity中添加了,它可以工作,但是我想在Fragment中调用它。我该怎么做呢?
4条答案
按热度按时间nvbavucw1#
在Fragment中,您必须调用
setHasOptionsMenu(true)
然后假设您要处理
menu_item_to_handle_in_fragment
项,单击对于片段类
对于活动类
qvtsj1bj2#
您需要在片段的onCreate中添加
setHasOptionMenu(true)
。添加此选项时,片段生命周期将调用onCreateOptionMenu()与onOptionItemSelected()。
请执行以下步骤:
lndjwyie3#
在片段中创建选项菜单的步骤
1.
kupeojn64#
好吧,有很多答案,上面没有一个显示如何真正调用Frarment。
这是经过测试并正常工作的整个示例。