如何防止.setDisplayHomeAsUpEnabled重新创建父活动?

时间:2015-02-15 11:13:18

标签: android

当我按下工具栏中的“后退/上移”按钮上升一级时,当我只想{{1}时,父活动会重新创建自己(重新加载数据等)当前的活动。

现在我的活动会自动创建finish(支持工具栏),因此我不确定如何选择它以在点击时调用Toolbar

是否有一个简单的标志我可以设置它只是告诉NavUtils.navigateUpFromSameTask(this);而不是重新创建父活动?

2 个答案:

答案 0 :(得分:5)

我使用这个技巧并且工作,返回父节点而不重新创建活动。注释的代码重新创建父代。所以我用了finish()

@Override
public Intent getSupportParentActivityIntent() {
    /*String from = getIntent().getExtras().getString("from");
    Intent newIntent = null;
    if(from.equals("MAIN")){
        newIntent = new Intent(this, MainActivity.class);
    }else if(from.equals("FAV")){
        newIntent = new Intent(this, FavoriteActivity.class);
    }

    return newIntent;*/
    finish();
    return null;
}

答案 1 :(得分:0)

如果要完全禁用它,请在清单删除android:parentActivityName="YourParentActivity"

更新

如果要更改其行为,请覆盖onOptionItemSelected()

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
}