我正在尝试支持后退按钮,而我的应用程序上的设计是导航抽屉。问题是片段没有被推入Backstack,但我解决了它:
getFragmentManager().beginTransaction().addToBackStack();
但问题是,当我点击后退按钮时 - 标题保持不变。我用
解决了这个问题getActivity().getActionBar().setTitle(str);
但问题仍然在导航列表中 - 左侧。它没有改变适合后退按钮(只是保持原样)。 实际上,我的问题是我如何才能获得最佳支持 - 所以我可以轻松解决它,或者如果你有其他解决方案。
答案 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]等于你第一个列表项。希望这有助于=)