我正在尝试通过ActionBar
找出如何将项目添加到Fragment
菜单中。我的应用MainActivity
继承了ActionBarActivity
,我希望能够根据ActionBar
当前显示的内容更改Fragment
上的项目。
public class LoginFragment : BaseFragment
{
//...
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetHasOptionsMenu(true);
// this.Activity.MenuInflater.Inflate(Resource.Menu.something, ???);
}
}
答案 0 :(得分:1)
从here
复制 1. Remove or comment any onOptionsItemSelected() ,onMenuItemSelected() even onPrepareOptionMenu() and leave in Activity onCreateOptionsMenu() only:
@Override
public boolean onCreateOptionsMenu(Menu menu){
MenuInflater inflater=getMenuInflater();
inflater.inflate(R.layout.menu, menu);
return true;
}
在Fragment类中,在onCreateView()中,输入:
setHasOptionsMenu(true);
在Fragment类中添加:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu,inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.action_insert:
//doing stuff
return true;
}
return false;
}
在Android 4.4上测试并使用