我是Android的新手,当我使用材料设计制作应用程序时,我遇到了问题。我按照this教程创建了一个片段,允许在此图片中搜索门票。 单击搜索按钮后,将显示片段结果,例如此。
但我不知道如何为工具栏中的后退图标设置操作以支持上一个片段。当我绘制图标时,它总是显示导航抽屉,当我触摸我的设备上的图标时,我只能返回上一个片段,但是当我这样做时,工具栏的标题不会改变。例如,当我处于片段重新组合时,如果我点击设备,我将返回搜索片段,但工具栏的tittle是结果的标题。请帮我。 p / s:很抱歉,如果这个问题很愚蠢,但我坚持了三天。我也搜索谷歌和stackoverflow,但也许我不完全了解导航抽屉,所以我尝试但无法解决。如果我错误的语法,我也很抱歉,因为我的英语不好,感谢你阅读我的问题 这是我的代码将fragement搜索票替换为Result。
public void DataBundle(ArrayList<TicketInforModel> ticketInforModels){
ResultFragment rFrag = new ResultFragment();
Bundle packageDataStation = new Bundle();
packageDataStation.putSerializable("arrTicket",ticketInforModels);
;
rFrag.setArguments(packageDataStation);
//noinspection ResourceType
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container_body, rFrag);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
// set the toolbar title
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);//get Toolbar from SearchingTicketActivity
((SearchingTicketActivity)getActivity()).setSupportActionBar(toolbar);
((SearchingTicketActivity)getActivity()).getSupportActionBar().setTitle(R.string.title_result);
toolbar.setNavigationIcon(R.drawable.ic_back);
// toolbar.dismissPopupMenus();
}
答案 0 :(得分:1)
像往常一样在android.R.id.home
上收听点击事件:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
//Do your stuff
break;
}
return super.onOptionsItemSelected(item);
}
注意:在这种情况下,最好在按下搜索按钮时在新的Activity
中显示结果,然后您可以在finish()
结果活动后返回按home/up
中的toolbar
按钮。不要让它变得那么复杂。
答案 1 :(得分:0)
试试这个
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getSupportFragmentManager.popBackStackImmediate();
}
});