我正在开发Android应用程序,我正在尝试在我的项目中实现抽屉布局(滑块菜单)。实际上让我解释我的项目,我有一个带有一些gridview项目的recyclerview,以便我们能够看到我们的主屏幕。我想在这个网格项目的顶部显示抽屉布局,这意味着recyclerview。我希望在应用程序打开后在我的抽屉布局(滑块菜单)中显示我的个人资料照片,之后我们可以向后滑动,像往常一样,我们可以看到我们的网格项目。
我几乎没有,但我有一个问题。如果我点击任何一个gridview项目并且我进入该页面并且如果我点击后退,那么我的抽屉布局(滑块菜单)显示时,我可以在刷卡后打开应用程序时显示我的抽屉布局(滑块菜单)但是从任何网格项目中单击返回时都不应显示 我在同一个xml文件中给出了recyclerview和抽屉布局(滑块菜单),这就是用户点击后退按钮的原因,recyclelerview正在显示抽屉布局(滑块菜单)
实际上如果我使用活动我将不会遇到任何问题,因为在活动中,如果我点击后退按钮它将不会调用oncreate方法它将调用onrestart方法,即使我点击按钮也不会执行oncreate的原因。 但是在片段中我的oncreateview正在执行,即使我单击后退按钮这是我的问题,因为如果我单击按钮,某些代码集不应该在我的oncreateview中执行。你能帮我解决一下我的问题。
这是我的Oncreateview代码
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.test2, container, false);
mDrawerLayout = (DrawerLayout)rootView.findViewById(R.id.drawer_layout);
mDrawerList = (ListView) rootView.findViewById(R.id.list_slidermenu);
mDrawerLayout.openDrawer(Gravity.LEFT);
navDrawerItems = new ArrayList<String>();
navDrawerItems.add("first");
navDrawerItems.add("second");
navDrawerItems.add("third");
adapter = new NavDrawerListAdapter(getActivity(),navDrawerItems);
mDrawerList.setAdapter(adapter);
return rootView;
}
这是我的test2布局xml代码
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Framelayout to display Fragments -->
<FrameLayout
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Grid View Items -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:clipToPadding="false"
android:id="@+id/fade"
android:orientation="vertical">
<LinearLayout
android:id="@+id/ll1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="0.2"
android:paddingRight="5dp"
android:paddingLeft="5dp"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:clickable="true"
android:layout_height="match_parent"/>
</LinearLayout>
</LinearLayout>
</FrameLayout>
<!-- Listview to display slider menu -->
<ListView
android:id="@+id/list_slidermenu"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@null"
android:listSelector="@drawable/list_selector"
android:background="@color/list_background"/>
</android.support.v4.widget.DrawerLayout>
Atleast我希望在点击后退按钮时不应执行此行
mDrawerLayout.openDrawer(Gravity.LEFT);