我试图重写onBackPressed()方法。但是,当我点击操作栏中的返回按钮时,它似乎无法检测到。
我目前有这段代码:
@Override
public void onBackPressed() {
Log.i("DATA", "Hit onBackPressed()");
super.onBackPressed();
}
我的日志消息在LogCat中从未出现。我知道这个日志语句是有效的,因为它是从另一个具有不同消息且会在LogCat中显示的方法中复制的。
我已经搜索过答案,并尝试使用onKeyDown并检测是否点击了后退按钮,但仍然存在同样的问题。 项目信息:
- Android Studio 0.9.3
- 该方法位于空白活动中
- 目标SDK为21
- 最小SDK为15
- 测试设备为三星Galaxy 5手机(非模拟器)
任何帮助都将不胜感激!!
编辑:
这是我的工作代码副本(这是测试代码,因此活动名称不具描述性):
public class MainActivity2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
getActionBar().setDisplayHomeAsUpEnabled(true);//Displays the back button
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main_activity2, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Log.i("DATA", "Hit Actionbar Back Button");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
现在,"Hit Actionbar Back Button"消息将出现在LogCat中。