Java 覆盖不';I don’我不能按预期的方式工作
我有一个类扩展了Java 覆盖不';I don’我不能按预期的方式工作,java,android,Java,Android,我有一个类扩展了SherlockFragmentActivity,它应该向其他类提供actionBar。不知何故,当我重写某些方法时,它们并没有按应有的方式工作。这是原始的重写的方法 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: final Intent intent = new
SherlockFragmentActivity
,它应该向其他类提供actionBar
。不知何故,当我重写某些方法时,它们并没有按应有的方式工作。这是原始的重写的方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
final Intent intent = new Intent(getApplicationContext(),
MainScreen.class);
intent.putExtra("Back", true);
startActivity(intent);
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
在这里,我在我的活动中覆盖它
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
final Intent intent = new Intent(Terms.this, CarDetailed.class);
Log.d("ActionBar in Terms", "Home button pressed");
intent.putExtra("Back", true);
startActivity(intent);
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
日志显示它正在调用home按钮,但不知何故,我总是被重定向到MainScreen.class
。我做错了什么
已解决
我返回了super方法,这是我的错误。请粘贴洞覆盖方法,您似乎忘记了return语句。您的返回值在哪里?我没有复制所有方法。您在return
语句中调用super.onOptionsItemSelected(item)
,它执行超类codetry,并将其添加到重写方法@bottom return true中;因此,s/m识别出您已经处理了事件,并且没有转到父方法