C# 将项目添加到片段中的ActionBar
我试图找出如何通过C# 将项目添加到片段中的ActionBar,c#,android,menu,android-actionbar,fragment,C#,Android,Menu,Android Actionbar,Fragment,我试图找出如何通过片段将项目添加到操作栏菜单。我的应用程序的main活动正在继承ActionBarActivity,我希望能够更改ActionBar上当前显示片段的项目 public class LoginFragment : BaseFragment { //... public override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState);
片段
将项目添加到操作栏
菜单。我的应用程序的main活动
正在继承ActionBarActivity
,我希望能够更改ActionBar
上当前显示片段的项目
public class LoginFragment : BaseFragment
{
//...
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetHasOptionsMenu(true);
// this.Activity.MenuInflater.Inflate(Resource.Menu.something, ???);
}
}
抄袭
在Fragment类的onCreateView()中,放置:
在片段类中添加:
@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上测试并工作过。为什么不为这项工作膨胀.xml文件呢?当然可以,但我在弄清楚如何访问需要操作的对象时遇到了困难<对于myMain活动
的code>OnCreateOptions菜单
要求参数为IMenu
。这是从哪里来的?您可以创建一个自定义函数,只需在activity中创建一个全局引用,它将在OnCreateMenu中初始化。您只需从activity中的任何位置调用该函数。啊,我正在尝试查找OnCreateOptions菜单的覆盖。我不知道它返回的碎片无效。
setHasOptionsMenu(true);
@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;
}