我有一个片段与行动栏后退按钮启用在它。
编码:
@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);
}
此外,在片段中显示的后退按钮是黑色的,我需要白色或自定义颜色,我怎么能改变呢?
5条答案
按热度按时间j2cgzkjk1#
迟做总比不做好,请试试这个〉
并且实施了
j2qf4p5b2#
我也遇到了同样的问题,但是我把这段代码放在Activity中,返回按钮在片段中工作:
izj3ouym3#
试试这个
myzjeezk4#
任何遇到这个问题的人都可以按照下面的步骤操作;
将MenuProvider实作至您的片段类别,并使用MenuHost初始化片段内的选单,然后使用覆写的方法。
fhity93d5#