Ich habe neun Fragmente in Viewpager. Ich möchte die Fragmentposition auf der Aktionsleiste anzeigen. Wenn der Benutzer am fünften Fragment arbeitet, möchte ich 5 in der rechten Ecke der Aktionsleiste anzeigen. Ich benutze unten Code, aber es zeigt nur 1, aber wenn Benutzer wischen und zum zweiten Fragment verschieben, dann zeigt es nicht 2. Wie kann ich das erreichen oder kann mir jemand andere Idee vorschlagen?Wie wird die Position des Viewpagerfragments in der Aktionsleiste angezeigt?
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>
Mein addOnPageChangeListener unten -
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);
}
}