学而实习之 不亦乐乎

Android:在 Fragment 中使用菜单

2020-09-24 20:12:22

在fragment中创建menu菜单步骤和在activity中创建步骤一致,也有差别。

1.重写的方法

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    inflater.inflate(R.menu.menu_area, menu);
    super.onCreateOptionsMenu(menu, inflater);

}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == R.id.menu_area || id == R.id.menu_icon) {
        //TODO 选择区域
        item.setTitle("海淀区");

        return true;
    } else
        return super.onOptionsItemSelected(item);

}

2.同时还要在 onCreate() 方法中添加代码

如下:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    /**
     * 在fragment创建menu关键方法
     */
    setHasOptionsMenu(true);
}