gpt4 book ai didi

android - invalidateOptionsMenu 不会从 fragment 中调用

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:08:30 24 4
gpt4 key购买 nike

我有一个 fragment 需要构建自己的操作栏:

public class CalendarFragment extends Fragment {

public CalendarFragment() {
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getActivity().supportInvalidateOptionsMenu();
setHasOptionsMenu(true);
}

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
return super.onOptionsItemSelected(item);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
TextView textView = new TextView(getActivity());
textView.setGravity(Gravity.CENTER);
textView.setText("Calendar Fragment");
return textView;
}

问题是它没有使用 calendar_menu1 中的项目创建新菜单,而只是将其中的项目添加到旧菜单,好像 invalidateOptionsMenu 不起作用(我也试过 getActivity().invalidateOptionsMenu())

最佳答案

你必须调用 onCreate():

setHasOptionsMenu(true);

关于android - invalidateOptionsMenu 不会从 fragment 中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11879966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com