Java 从PreferenceActivity返回后,屏幕变暗,需要额外按下后退按钮
我在我的应用程序中添加了一个简单的PreferenceActivity,可以通过上下文菜单按钮访问。我可以很好地访问PreferenceActivity,那里的一切都正常。问题是当您通过后退按钮离开PreferenceActivity时。应用程序的主要活动重新出现,但整个屏幕变暗,就像弹出了一个对话框,或者上下文菜单从未消失,但没有消失。如果不按后退按钮或菜单按钮,则无法与后台的ListActivity交互 有人知道为什么会这样吗 主要活动:Java 从PreferenceActivity返回后,屏幕变暗,需要额外按下后退按钮,java,android,Java,Android,我在我的应用程序中添加了一个简单的PreferenceActivity,可以通过上下文菜单按钮访问。我可以很好地访问PreferenceActivity,那里的一切都正常。问题是当您通过后退按钮离开PreferenceActivity时。应用程序的主要活动重新出现,但整个屏幕变暗,就像弹出了一个对话框,或者上下文菜单从未消失,但没有消失。如果不按后退按钮或菜单按钮,则无法与后台的ListActivity交互 有人知道为什么会这样吗 主要活动: @Override public boolean
@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);
}
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
super.onCreateOptions菜单(菜单);
//去拿充气机
MenuInflater充气机=getMenuInflater();
//膨胀
充气机。充气(右菜单。主菜单,菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理项目选择;
开关(item.getItemId()){
案例R.id.refresh:
刷新();
返回true;
案例R.id.subreddits:
startActivity(新意图(此,首选类));
返回true;
违约:
返回super.onOptionsItemSelected(项目);
}
}
优惠活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.subreddit_preferences);
}
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.subreddit_preferences);
}
我不会用那种方式编写创建选项菜单()上的
。不要先调用super
,然后返回true
,而是将链的结果返回到超类
如果这没有帮助,那么它将使用首选项活动
,并且不会遇到您提到的问题。看看你是否能推断出你的代码与我的不同之处。我也有同样的问题,我的问题是我在“设置”菜单项下放了一个子菜单
删除它解决了问题。Hm。我做了更改(打得好,谢谢),但似乎没有解决问题。@Chris:试试我的示例。一旦您确认它没有显示您遇到的行为,就开始尝试找出我的代码和您的代码的不同之处。有趣的是……所以我尝试像您一样动态添加菜单对象,而不是膨胀xml,这似乎解决了问题。我不介意在运行中添加它们,但我想知道我的xml中是否有错误(我已经将其添加到原始帖子中)。忽略最后的评论。谢谢@克里斯,出什么问题了??我也有同样的问题!