【问题标题】:onCreateOptionsMenu called only for the selected fragment(item) inside view pager,( not called for left and right items of view pager)onCreateOptionsMenu 仅对视图寻呼机内的选定片段(项目)调用,(不为视图寻呼机的左右项目调用)
【发布时间】:2016-08-12 05:28:03
【问题描述】:

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

提前致谢

【问题讨论】:

    标签: android android-fragments android-viewpager fragment


    【解决方案1】:

    向寻呼机添加ViewPager.OnPageChangeListener,并在onPageSelected 函数中调用invalidateOptionsMenu

    【讨论】:

    • 谢谢,使用此方法 onCreateOptionsMenu 被调用,但仍然没有在左右项目中膨胀菜单。
    【解决方案2】:

    我能够通过在工具栏内添加图标而不是作为菜单膨胀来解决这个问题。

     <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      相关资源
      最近更新 更多