添加ActionBar
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
发现点击返回没有生效,最后发现是没有触发onOptionsItemSelected方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
用了很多方法测试,最后都没有查出来为什么没有触发onOptionsItemSelected,最后只能用Toolbar代替,用Toolbar后监听点击事件,就不会跑到onOptionsItemSelected方法里面去了
View mToolbar = findViewById(Resources.getSystem().getIdentifier("action_bar", "id", "android"));
if(mToolbar instanceof Toolbar){
((Toolbar)mToolbar).setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i(TAG, " click back key to return");
onBackPressed();
}
});
}
最后返回成功,onBackPressed方法可以改成finish
|