Java Android:在布局上打开导航抽屉单击

Java Android:在布局上打开导航抽屉单击,java,android,Java,Android,我的应用程序有一个主屏幕,用户可以单击主片段上的一个可单击布局,该布局将打开导航抽屉,但是我在使用(视图)方法使抽屉在单击布局后打开时遇到问题 HomeFragment.java(可单击布局的位置) public void onClick(视图v){ Toast Toast=Toast.makeText(上下文,“通过此事件处理抽屉打开”,Toast.LENGTH\u LONG); toast.show(); FragmentDrawer FragmentDrawer=新的FragmentDra

我的应用程序有一个主屏幕,用户可以单击主片段上的一个可单击布局,该布局将打开导航抽屉,但是我在使用(视图)方法使抽屉在单击布局后打开时遇到问题

HomeFragment.java(可单击布局的位置)

public void onClick(视图v){
Toast Toast=Toast.makeText(上下文,“通过此事件处理抽屉打开”,Toast.LENGTH\u LONG);
toast.show();
FragmentDrawer FragmentDrawer=新的FragmentDrawer();
fragDrawer.openNavDrawer();
}
FragmentDrawer.java:

public View onCreateView(布局、充气机、视图组容器、,
Bundle savedInstanceState){
//膨胀视图布局
视图布局=充气机。充气(R.layout.fragment\u navigation\u抽屉、容器,错误);
recyclerView=(recyclerView)layout.findViewById(R.id.drawerList);
adapter=new-NavigationDrawerAdapter(getActivity(),getData());
recyclerView.setAdapter(适配器);
setLayoutManager(新的LinearLayoutManager(getActivity());
addOnItemTouchListener(新的RecyclerTouchListener(getActivity(),recyclerView,new ClickListener()){
@凌驾
公共void onClick(视图,int位置){
抽屉链接器。onDrawerItemSelected(视图、位置);
mDrawerLayout.closeDrawer(容器视图);
}
@凌驾
仅长按公共无效(视图,int位置){
}
}));
返回布局;
}
//此方法是从HomeFragment.java中的单击事件调用的
public void openNavDrawer(){
mDrawerLayout.openDrawer(重力启动);
}

我的mDrawerLayout示例如下:

mDrawerLayout=(抽屉布局)findViewById (R.id.我的抽屉布局)

我的幻灯片状态:

mSlideState=false

如果需要了解幻灯片菜单状态(关闭、打开)。使用此代码:

mDrawerLayout.setDrawerListener
(new ActionBarDrawerToggle
(this, mDrawerLayout, R.drawable.ic_menu_slide, 0, 0){
 @Override 
public void onDrawerClosed
(View drawerView) {
 super.onDrawerClosed
(drawerView);
 mSlideState=false;//is Closed
 } 
@Override 
public void onDrawerOpened
(View drawerView) { 
super.onDrawerOpened(drawerView); mSlideState=true;//is Opened }});
最后。您可以像这样使用单击事件:

public void clickEventSlide(){

 if(mSlideState){ 
mDrawerLayout.closeDrawer(Gravity.END); 
}else{ mDrawerLayout.openDrawer(Gravity.END); }
}
在我的例子中,我的幻灯片菜单在右边(Gravity.END),但如果需要在左边,请尝试使用Gravity.START


我希望解决了您的问题。

您遇到了什么错误?