android隐藏工具栏中的特定片段

我有一个问题,我不知道如何解决。 你如何隐藏一个特定的片段的工具栏,我已经在互联网上search,我发现是沟通活动和片段将解决它。 但是它根本不适用于我,这是我的代码:

主要活动:

public class MainActivity extends ActionBarActivity implements like_frag.OnHideToolbar{ .... public void onHidingToolbar(int position){ Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); if(toolbar == null){ getSupportActionBar().hide(); }else{ getSupportActionBar().hide(); } } 

like_frag.java

 public class like_frag extends Fragment { OnHideToolbar mCallback; Toolbar toolbar; public interface OnHideToolbar { public void onHidingToolbar(int position); } public void onAttach(Activity activity){ try{ mCallback = (OnHideToolbar) activity; }catch(ClassCastException e){ throw new ClassCastException(activity.toString() + "error implementing"); } } public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ View rootView = inflater.inflate(R.layout.swipefrag, container, false); toolbar = (Toolbar)getActivity().findViewById(R.id.toolbar); return rootView; } @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); } } 

提前致谢。

我在工具栏里有一个抽屉。

Solutions Collecting From Web of "android隐藏工具栏中的特定片段"

把这段代码放在你想要隐藏工具栏的片段中

  @Override public void onResume() { super.onResume(); ((AppCompatActivity)getActivity()).getSupportActionBar().hide(); } @Override public void onStop() { super.onStop(); ((AppCompatActivity)getActivity()).getSupportActionBar().show(); } 

在片段的onCreate方法调用中:
((AppCompatActivity) getActivity()).getSupportActionBar().hide();
AppCompateActivityreplace为您使用的活动类。

在片段中创build一个接口并使用它来告诉父活动以隐藏工具栏。

将这些行添加到你的片段:

 private OnEventListener listener; public interface OnEventListener { void hideToolbar() ; } public void setOnEventListener(OnEventListener listener) { this.listener = listener; } 

在主要活动中创build您的片段后,添加:

  myFragment.setOnEventListener(new MyFragment.OnEventListener() { @Override public void hideToolbar() { getSupportActionBar().hide(); } }); 

每当你需要隐藏工具栏执行:

 listener.hideToolbar(); 

从你的片段里面

只要将这些方法添加到您想要对工具条进行分页的片段中,并在片段的onStop()再次使其可见即可。

  @Override public void onResume() { super.onResume(); ((AppCompatActivity)getActivity()).getSupportActionBar().hide(); } @Override public void onStop() { super.onStop(); ((AppCompatActivity)getActivity()).getSupportActionBar().show(); }