问题描述
我在我的应用程序中添加了一个简单的PreferenceActivity,可通过上下文菜单按钮访问。 我可以很好地访问PreferenceActivity,并且其中的一切都可以工作。 问题是当您通过后退按钮离开PreferenceActivity时。 该应用程序的主要活动重新出现,但随后整个屏幕变暗,几乎就像弹出一个对话框或上下文菜单永远不会消失,但没有。 如果不按后退按钮或菜单按钮,则无法与后台的ListActivity进行交互。
有人想知道为什么会这样吗?
主要活动:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
// get the inflater
MenuInflater inflater = getMenuInflater();
// inflate
inflater.inflate(R.menu.main_menu, menu);
return true;
}
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection; switch(item.getItemId()) { case R.id.refresh: refresh(); return true; case R.id.subreddits: startActivity(new Intent(this, Prefs.class)); return true; default: return super.onOptionsItemSelected(item); } }
PreferenceActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.subreddit_preferences);
}
1楼
我不会这样写onCreateOptionsMenu()
。
而不是先调用super
然后返回true
,而是将链的结果返回给超类。
如果这没有帮助, 使用PreferenceActivity
,并且不会遇到您引用的问题。
看看你能否推断出你的代码与我所拥有的不同之处。
2楼
我有同样的问题,我的问题是我在“设置”菜单项下放了一个子菜单。
删除它修复了问题。