onCreateOptionsMenu仅在视图寻呼机内调用所选片段(项),(不调用视图寻呼机的左右项)

时间:2016-08-12 05:28:03

标签: android android-fragments android-viewpager fragment

有一个视图寻呼机和片段作为视图寻呼机项目。每个片段都有自己的工具栏。在使用ArrayList调用set view pager适配器时,onCreateOptionsMenu(onCreateOptionsMenu是内部片段)仅针对所选(当前所选的view pager项目)片段调用,而所选viewpager项目(片段)的左右项目也被加载但onCreateOptionsMenu是没有调用,因此这些片段的菜单项不会膨胀。 - 有没有办法为每个片段触发onCreateOptionsMenu? - 在查看寻呼机中是否可以一次只加载一个项目?

提前致谢

2 个答案:

答案 0 :(得分:0)

向寻呼机添加ViewPager.OnPageChangeListener,在onPageSelected功能中,拨打invalidateOptionsMenu

答案 1 :(得分:0)

我能够通过在工具栏中添加图标而不是充当菜单来解决此问题。

 <android.support.v7.widget.Toolbar
                android:id="@+id/news_details_toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Dark">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="right">

                    <ImageView
                        android:id="@+id/icon_comment"
                        android:layout_width="30dp"
                        android:layout_height="30dp"
                        android:layout_centerVertical="true"
                        android:layout_gravity="right"
                        android:layout_marginRight="8dp"
                        android:scaleType="centerCrop"
                        android:src="@drawable/ic_comment" />

                    <ImageView
                        android:id="@+id/icon_share"
                        android:layout_width="30dp"
                        android:layout_height="30dp"
                        android:layout_centerVertical="true"
                        android:layout_gravity="right"
                        android:layout_marginRight="8dp"
                        android:layout_toRightOf="@id/icon_comment"
                        android:scaleType="centerCrop"
                        android:src="@drawable/ic_share" />
                </RelativeLayout>

            </android.support.v7.widget.Toolbar>