从PreferenceActivity返回后,屏幕变暗并需要额外的后退按钮按下

时间:2011-03-28 23:03:35

标签: java android

我在我的应用中添加了一个简单的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);
}

2 个答案:

答案 0 :(得分:4)

我不会那样写onCreateOptionsMenu()。不是首先调用super然后返回true,而是将链的结果返回给超类。

如果这没有帮助,here is a sample project使用PreferenceActivity并且不会受到您引用的问题的影响。看看你能否推断出你的代码与我的代码有何不同。

答案 1 :(得分:0)

我遇到了同样的问题,我的问题是我在“设置”菜单项下放了一个子菜单。

删除它解决了这个问题。