支持导航抽屉中的后退按钮

时间:2014-04-17 09:19:33

标签: android navigation-drawer

我正在尝试支持后退按钮,而我的应用程序上的设计是导航抽屉。问题是片段没有被推入Backstack,但我解决了它:

getFragmentManager().beginTransaction().addToBackStack();

但问题是,当我点击后退按钮时 - 标题保持不变。我用

解决了这个问题
getActivity().getActionBar().setTitle(str);

但问题仍然在导航列表中 - 左侧。它没有改变适合后退按钮(只是保持原样)。 实际上,我的问题是我如何才能获得最佳支持 - 所以我可以轻松解决它,或者如果你有其他解决方案。

2 个答案:

答案 0 :(得分:0)

在setContentView()

之后写一行
getActionBar().setDisplayHomeAsUpEnabled(true);

并使用

@Override
public boolean onOptionsItemSelected(final MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home: {
        CommonFunctions.writeLogs(getApplicationContext(), CONFIG, LOGGER,
                "onCreateOptionsMenu()" + "home");

        finish();
  }

  break;
    }

 default:
        break;
    }
    return true;

}

希望它能解决你的问题

答案 1 :(得分:0)

也许有点迟了但仍然适合那些不知道如何做的人。我认为这将解决您的问题:

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {      
    selectItem(position);       
}

public void selectItem(int position) {      
    listView.setItemChecked(position, true);

    String[] simple_array = fragment_items.toArray(new String[fragment_items.size()]);
    setTitle(simple_array[position]);
}

public void setTitle(String title){
    getSupportActionBar().setTitle(title);
}

所以当我点击导航抽屉列表视图中的某个项目时,它会调用带有参数位置的函数selectItem。在selectItem方法中,我将我的arraylist转换为普通数组来设置我的标题。列表视图中的位置与数组中的位置相同。所以simple_array [0]等于你第一个列表项。希望这有助于=)