我在我的应用中添加了一个简单的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);
}
答案 0 :(得分:4)
我不会那样写onCreateOptionsMenu()
。不是首先调用super
然后返回true
,而是将链的结果返回给超类。
如果这没有帮助,here is a sample project使用PreferenceActivity
并且不会受到您引用的问题的影响。看看你能否推断出你的代码与我的代码有何不同。
答案 1 :(得分:0)
我遇到了同样的问题,我的问题是我在“设置”菜单项下放了一个子菜单。
删除它解决了这个问题。