80,351
社区成员
发帖
与我相关
我的任务
分享
ActionBar bar = getActivity().getActionBar();
bar.setCustomView(R.layout.xxx);
bar.setDisplayShowCustomEnabled(true);
bar.setDisplayShowHomeEnabled(false);
View barView = bar.getCustomView();
TextView textView = (TextView) barView.findViewById(R.id.xxx);
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (getFragmentManager().getBackStackEntryCount() >= 1) {
getFragmentManager().popBackStack();
}
}
});
类 extends Fragment
当 count 不为 0 时能点击
那是不是判断下:
getFragmentManager() != null
[/quote]
你这样试试:
if(getFragmentManager() != null){
if (getFragmentManager().getBackStackEntryCount() >= 1) {
getFragmentManager().popBackStack();
}
}
不行的话,你在其宿主Activity试试这个回退的方法[/quote]
在 Fragment 中 getActivity
ActionBar bar = getActivity().getActionBar();
bar.setCustomView(R.layout.xxx);
bar.setDisplayShowCustomEnabled(true);
bar.setDisplayShowHomeEnabled(false);
View barView = bar.getCustomView();
TextView textView = (TextView) barView.findViewById(R.id.xxx);
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (getFragmentManager().getBackStackEntryCount() >= 1) {
getFragmentManager().popBackStack();
}
}
});
类 extends Fragment
当 count 不为 0 时能点击
那是不是判断下:
getFragmentManager() != null
[/quote]
你这样试试:
if(getFragmentManager() != null){
if (getFragmentManager().getBackStackEntryCount() >= 1) {
getFragmentManager().popBackStack();
}
}
不行的话,你在其宿主Activity试试这个回退的方法[/quote]
确实 getFragmentManager() 为 null 了,加了判断后可以回退到最开始的 Fragment;
经提醒我在 Activity 中定义了一个 pop 方法,在 ActionBar 的点击事件中调用 Activity 的pop() 可以回退到 Activity 。
解决了 Activity -> Fragmetn -> Fragment 然后回到 Activity 问题。
ActionBar bar = getActivity().getActionBar();
bar.setCustomView(R.layout.xxx);
bar.setDisplayShowCustomEnabled(true);
bar.setDisplayShowHomeEnabled(false);
View barView = bar.getCustomView();
TextView textView = (TextView) barView.findViewById(R.id.xxx);
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (getFragmentManager().getBackStackEntryCount() >= 1) {
getFragmentManager().popBackStack();
}
}
});
类 extends Fragment
当 count 不为 0 时能点击
那是不是判断下:
getFragmentManager() != null
ActionBar bar = getActivity().getActionBar();
bar.setCustomView(R.layout.xxx);
bar.setDisplayShowCustomEnabled(true);
bar.setDisplayShowHomeEnabled(false);
View barView = bar.getCustomView();
TextView textView = (TextView) barView.findViewById(R.id.xxx);
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (getFragmentManager().getBackStackEntryCount() >= 1) {
getFragmentManager().popBackStack();
}
}
});
类 extends Fragment
当 count 不为 0 时能点击
那是不是判断下:
getFragmentManager() != null
[/quote]
你这样试试:
if(getFragmentManager() != null){
if (getFragmentManager().getBackStackEntryCount() >= 1) {
getFragmentManager().popBackStack();
}
}
不行的话,你在其宿主Activity试试这个回退的方法