Java Android:在布局上打开导航抽屉单击
我的应用程序有一个主屏幕,用户可以单击主片段上的一个可单击布局,该布局将打开导航抽屉,但是我在使用(视图)方法使抽屉在单击布局后打开时遇到问题 HomeFragment.java(可单击布局的位置)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
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
我希望解决了您的问题。您遇到了什么错误?