Ich baue eine Android-Anwendung mit dem folgenden Layout. ViewPager nicht unterstützt layout_height = wrap_content
Es ist bereits bekannt, dass layout_height="wrap_content"
nicht für den ViewPager funktioniert.
Meine Frage ist, wie man es dynamisch ändert. Der Inhalt des ViewPager ist aus zwei XML-Layouts aufgeblasen, vp_statistics.xml and vp_campaigns.xml.
hier ist der xml für die ViewPager
<LinearLayout
android:id="@+id/topcontent_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical" >
</LinearLayout>
<LinearLayout
android:id="@+id/viewpager_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
der Code Hier ist für meine PagerAdapter
class MyPagerAdapter extends PagerAdapter{
@Override
public int getCount() {
// TODO Auto-generated method stub
return 2;
}
public Object instantiateItem(View collection, int pos){
LayoutInflater inflater = (LayoutInflater)collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch(pos){
case 0:
resId = R.layout.vp_statistics;
break;
case 1:
resId = R.layout.vp_campaigns;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager)collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO Auto-generated method stub
((ViewPager)container).removeView((View)object);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0 == ((View)arg1);
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
}
und in meinem onCreate() mthod der Aktivitätsklasse:
MyPagerAdapter adapter = new MyPagerAdapter();
ViewPager viewPager = (ViewPager)findViewById(R.id.viewpager);
viewPager.setAdapter(adapter);
viewPager.setCurrentItem(0);
Gibt es einen Weg, um die Höhe der vp_statistics.xml
und vp_campaigns.xml
Layouts und zuweisen Sie es dynamisch zu ViewPager (@id/viewpager)
jedes Mal, wenn das instantiateItem()
Objekt aufgerufen wird?
haben Sie das Problem behoben? Ich habe eine ähnliche. – Matroska
haben Sie die Lösung für diese – koti
finden Sie bitte Stern Problem https://code.google.com/p/android/issues/detail?id=54604 – Christ