Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Android > ViewPager внутри ListView


Автор: Coocky 26.7.2013, 19:44
Здравствуйте. Есть задача, внутри ListView сделать айтемы, которые содержат ViewPager
Вот фрагмент кода, в котором я пытаюсь просто расместить один элемент ViewPager  в одном айтеме ListView, который содержит страничку с TextView

Однако ничего не показывается, хотя все функции успешно отрабатывают и вызываются перегруженые.
Если в это код в адаптере листа в методе getView-попытаться вставить другой компонент, вместо ViewPager (например ImageView, TextView)-то все отображается.
Не могу понять-в чем дело.
Код

public View getView(int position, View convertView, ViewGroup parent) {

View view = convertView;
if (view == null) {
view = lInflater.inflate(R.layout.product_info_list_item,
parent, false);
}

ViewPager viewPager = (ViewPager) view.findViewById(R.id.view_pager);
viewPager.setAdapter(new SamplePagerAdapter());
return view;
}

public class SamplePagerAdapter extends PagerAdapter{

@Override
public Object instantiateItem(ViewGroup container, int position){
View imview = lInflater.inflate(R.layout.info_image, null);
((ViewPager) container).addView(imview);
return imview;
}

@Override
public void destroyItem(ViewGroup container, int position, Object object){
((ViewPager) container).removeView((View) object);
}

@Override
public int getCount(){
return 1;
}

@Override
public boolean isViewFromObject(View view, Object object){
return view.equals(object);
}

@Override
public void finishUpdate(View arg0){
}

@Override
public void restoreState(Parcelable arg0, ClassLoader arg1){
}

@Override
public Parcelable saveState(){
return null;
}

@Override
public void startUpdate(View arg0){
}
}




лайауты  info_image.xml
Код

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:padding="10dip"
android:background="#ddd">

<TextView
android:id="@+id/text_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true"
android:background="#888"
android:gravity="center"
android:text="eeeeeeeeeeeeee"
android:textColor="#fff"
android:textSize="30dip" />

</RelativeLayout>



product_info_list_item.xml

Код


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/products_info_item_back"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical" >

<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)