gpt4 book ai didi

android - onCreateOptionsMenu() 没有在 FragmentActivity 上被调用

转载 作者:行者123 更新时间:2023-11-29 00:04:23 25 4
gpt4 key购买 nike

同事们,MainActivity 类派生自 FragmentActivity,由于某些原因, Activity 的 onCreateOptionsMenu() 没有被调用。我在 onCreate() 中有第一个断点,它正在被触发,第二个断点在 onCreateOptionsMenu() 中,它没有被触发。

import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {

private FragmentPagerAdapter m_fragmentPagerAdapter;
private ViewPager m_viewPager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// Create the adapter that will return a fragment for each of the primary sections of the activity.
m_fragmentPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

// Set up the ViewPager with the sections adapter.
m_viewPager = (ViewPager) findViewById(R.id.container);
m_viewPager.setAdapter(m_fragmentPagerAdapter);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu); // Inflate the menu; this adds items to the action bar if it is present.
return true;
}
}

此应用中的 fragment 没有自己的菜单。属于 Activity 的一个菜单“涵盖”了一切。

主题是 Holo.Light

是什么阻止了 onCreateOptionsMenu() 被调用?我错过了什么?

最佳答案

仔细检查您是否真的将应用主题设置为 Holo.Light。我无法解释导致问题的原因,但我能够重现它。在尝试了 FragmentActivityAppCompatActivity 之间的变化后,我不小心运行了 FragmentActivity 并且主题设置为 Theme.AppCompat.Light。这创建了您所看到的行为,未调用 onCreateOptionsMenu()

作为附带问题,您应该修复您的 onCreateOptionsMenu() 以调用 super,如 documentation 中所述:“派生类应始终调用基础实现”。

关于android - onCreateOptionsMenu() 没有在 FragmentActivity 上被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35049640/

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