@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ViewPager vp = new ViewPager(this); setContentView( vp ); FragmentManager fm = getSupportFragmentManager(); MyAdapter fpa = new MyAdapter( fm ); vp.setAdapter( fpa ); }
そしたらこんなエラーが出た。
java.lang.IllegalArgumentException: No view found for id 0xffffffff for fragment HogeFragment{41850420 #0 id=0xffffffff android:switcher:-1:0}
調べてみるとViewPagerにはIDを指定してあげないといけないらしい。 vp.setId( )するなりxmlの場合はちゃんとIDを指定してあげること。
vp.setId( R.id.view_pager );
みたいな感じ。
( In English... ViewPager must be specified with unique ID . We should specify ID by vp.setID( ) or id attribute in XML . Like... vp.setId( R.id.view_pager ); )
IDは/values/ids.xmlに以下のように定義すると良い
( In English ... If you want to specify ID dynamically, define ID in /values/ids.xml with following. )
( In English ... If you want to specify ID dynamically, define ID in /values/ids.xml with following. )
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item type="id" name="view_pager" />
</resources>
I didn't understand much, but you helped me : D. Arigatou gozaimasu!
返信削除Thanx
返信削除blogspot.de ... very much german...
返信削除You can just user this variable to set an id for ur viewPager
返信削除@IdRes
int portraitViewPagerId = 65;