后退按钮没有正确响应

时间:2016-07-26 06:33:25

标签: java android

这真的很奇怪,很难解释。我在我的活动中覆盖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);
}

请有人帮忙。

1 个答案:

答案 0 :(得分:2)

对于所有有这种难以忘怀的经历的不可原谅的灵魂,出于某种原因,你必须在onCreateOptionsMenu()中给菜单充气,以便后退按钮起作用。