如何在动作栏上显示viewpager片段位置?

时间:2016-09-17 12:54:44

标签: android android-fragments android-actionbar android-viewpager

我在viewpager中有九个片段。我想在动作栏上显示片段位置意味着如果用户在第五个片段上工作,那么我想在动作栏的右上角显示5。我使用下面的代码,但它只显示1但当用户滑动并移动到第二个片段然后它没有显示2.我怎么能实现这个或任何人可以建议我不同的想法?

menu_fragment.xml -

if let booking = rescheduleBooking, let bookingConfirmed = booking.confirmed where bookingConfirmed == 0 {
    existingRequests.append(booking)
}

我的addOnPageChangeListener -

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.prgguru.example.MainActivity" >

        <item
            android:id="@+id/fragmentPos"
            android:title=""
            android:orderInCategory="100"
            app:showAsAction="always|collapseActionView"/>

</menu>

1 个答案:

答案 0 :(得分:0)

如果您想在操作栏上显示viewpager片段位置,请将下面的代码编辑到我的bove ques中,并且您已成功显示页面编号。

将下一行放在onPageScrolled -

supportInvalidateOptionsMenu();

以下是onCreateOptionsMenu -

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        //inflater.inflate(R.menu.menu_item, menu);
        getMenuInflater().inflate(R.menu.menu_fragment, menu);

        MenuItem item = menu.findItem(R.id.fragmentPos);
        item.setTitle(String.valueOf(pos));

        return super.onCreateOptionsMenu(menu);
    }