我有一个片段,其中启用了操作栏后退按钮。操作栏检测后退按钮单击片段
代码:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
setHasOptionsMenu(true);
actionBar = ((MainActivity)getActivity()).getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setCustomView(R.layout.custom_action_bar);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = mInflater.inflate(R.layout.fragment_layout, container, false);
return view;
}
在上面的代码actionBar.setDisplayHomeAsUpEnabled(true);
使操作栏后退按钮,但我们如何可以检测它的点击?
我已经调查的例子很多,并试图以下,但仍然没有工作:
在片段:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(getActivity(), "Back", Toast.LENGTH_LONG).show();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
而且其显示在片段中的后退按钮是黑颜色的,我需要的是在白色或自定义颜色我怎么能改变这一点?
onOptionSelectde(MenuItem项)是甚至菜单项,并与actionBar.setDisplayHomeAsUpEnabled(true),它会自动返回设施..不经过其点击事件.... – Vidhi 2015-03-19 06:49:07
@VidhiTrivedi当我点击它,它什么也没做,那么我的下一步是检查我做错了什么? – user2056563 2015-03-19 06:52:00
我也面临同样的问题任何人找到解决这个?无法检测到android.R.id.home事件 – Swapnil 2015-06-10 08:00:32