活动上的后退按钮行为

时间:2016-05-19 19:26:40

标签: android android-fragments android-studio

我的应用中存在问题。我有一个带有Fragments的MainActivity,每个Fragment都有一个带有recyclerView的列表。当我单击列表的项目时,应用程序将转到新的DetailActivity。

在DetailActivity中,我有下一个代码行:

getSupportActionBar().setDisplayHomeAsUpEnabled(true);

当我单击ActionBar中的后退按钮时,我返回另一个片段中的MainActivity,而不是我点击该项目的片段。

谢谢!

1 个答案:

答案 0 :(得分:0)

如@kareem adel所述,请确保您没有结束之前的活动。不要使用Flag_activity_clear_task或flag_activity_new_task

如果这没有帮助,你可以告诉后退按钮去哪里。

使用getSupportActionBar()。setDisplayHomeAsUpEnabled(true);设置你可以这样做:

@Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }
        else if(id == android.R.id.home){
            //Back button was hit so go somewhere.
            Intent i= new Intent(this, MainActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); //Clear previous Activities 
            startActivity(i);
            finish(); //End this activity.
            return true;
        }

        return super.onOptionsItemSelected(item);
    }