这真的很奇怪,很难解释。我在我的活动中覆盖onOptionsItemSelected
,但它只在某个片段开始后才开始运行,我真的不明白......
活动
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.e("hm", ""+ item.getItemId());
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(Activity_Main.this, "back", Toast.LENGTH_SHORT).show();
onBackPressed();
return true;
case R.id.settings_toolbar:
Toast.makeText(Activity_Main.this, "setings", Toast.LENGTH_SHORT).show();
toSettings();
return true;
case R.id.share_toolbar:
Toast.makeText(getApplicationContext(), "shared lmao", Toast.LENGTH_SHORT).show();
return true;
}
return super.onOptionsItemSelected(item);
}
启动不响应工具栏操作的片段:
public void toSettings() {
Fragment_Settings frag = new Fragment_Settings();
fm.beginTransaction()
.replace(R.id.mainContainer, frag)
.addToBackStack(null)
.commit();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.arrow_left);
}
请有人帮忙。
答案 0 :(得分:2)
对于所有有这种难以忘怀的经历的不可原谅的灵魂,出于某种原因,你必须在onCreateOptionsMenu()
中给菜单充气,以便后退按钮起作用。