【发布时间】:2016-09-17 12:54:44
【问题描述】:
我在 viewpager 中有九个片段。我想在操作栏上显示片段位置意味着如果用户处理第五个片段,那么我想在操作栏的右上角显示 5。我正在使用下面的代码,但它只显示 1,但是当用户滑动并移动到第二个片段时,它不显示 2。我怎样才能实现这一点,或者任何人都可以建议我不同的想法?
menu_fragment.xml -
<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>
下面是我的 addOnPageChangeListener -
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
currentPage = position + 1;
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
//inflater.inflate(R.menu.menu_item, menu);
getMenuInflater().inflate(R.menu.menu_fragment, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Take appropriate action for each action item click
switch (item.getItemId()) {
case R.id.fragmentPos:
this.setTitle(currentPage);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
【问题讨论】:
标签: android android-fragments android-actionbar android-viewpager