I have the following simple setup:
swipeable.xml
<LinearLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<include layout="@layout/toolbar" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<android.support.v4.view.PagerTabStrip
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.v4.view.ViewPager>
</LinearLayout>
Activity:
public class InfoActivity extends ActionBarActivity {
private static final int[][] KEYS = { { R.string.usage, R.string.usage_text },
{ R.string.data_protection, R.string.data_protection_text },
{ R.string.impressum, R.string.impressum_text } };
@Override
protected void onCreate( Bundle savedInstanceState ) {
setContentView( R.layout.swipeable );
super.onCreate( savedInstanceState );
ViewPager viewPager = (ViewPager)findViewById( R.id.pager );
viewPager.setAdapter( new SwipeAdapter( getSupportFragmentManager() ) );
}
class SwipeAdapter extends FragmentStatePagerAdapter {
public SwipeAdapter( FragmentManager fm ) {
super( fm );
}
@Override
public Fragment getItem( int position ) {
Bundle b = new Bundle();
b.putInt( "key", KEYS[ position ][ 1 ] );
return Fragment.instantiate( InfoActivity.this, InfoFragment.class.getName(), b );
}
@Override
public int getCount() {
return KEYS.length;
}
@Override
public CharSequence getPageTitle( int position ) {
return getString( KEYS[ position ][ 0 ] ).toUpperCase();
}
}
}
If I access the activity the 1st time, no pagerstrip-texts are shown. If I swipe or click the tab, the texts are displayed normally:
What could be the reason for such a strange behavior?
For me this issue happened after I updated the
support-v13
(orv4
),appcompat-v7
,recyclerview-v7
anddesign
libraries to23.0.0
. I guess it is a bug. After downgrading it to22.2.1
, it is working fine.I would suggest to wait until they release new revision of these libraries.
Update: This issue is occurring only in
appcompat-v7
anddesign
libs, which has now got fixed in23.1.0
revision of Android Support Library.