Android viewpager没有加载图片?

时间:2015-09-28 16:18:41

标签: android android-layout listview android-viewpager

我在早上问了非常相似的question,但在尝试了viewpager之后没有加载预期的图像。这是我更新的代码:

layout_view_pager_item

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
   <ImageView
    android:id="@+id/image"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:background="#000000"
    android:padding="1dp" />
</LinearLayout>

layout_data_listing_food

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/Base.TextAppearance.AppCompat.Menu"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView
  .....
android:focusable="true" />

<android.support.v4.view.ViewPager
  android:id="@+id/pager"
  ....
  android:layout_alignStart="@id/profilePic" />

FoodListAdapter

public class FoodListAdapter extends ArrayAdapter<Food> {

private Context context;
private List<Food> roomList;
private ViewPager viewPager;
ArrayList<Integer> itemsimg = new ArrayList<Integer>();

public FoodListAdapter(Context context, int resource, List<Food> objects) {
    super(context, resource, objects);
    this.context = context;
    this.roomList = objects;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    itemsimg.add(R.drawable.temp_envelope);

    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
    if (null == convertView) {
        convertView = inflater.inflate(R.layout.layout_data_listing_food, parent, false);
    }

    ViewPageAdapter slider = new ViewPageAdapter(context,itemsimg);
    ViewPager vpPager = (ViewPager) convertView.findViewById(R.id.pager);
    vpPager.setAdapter(slider);
   return convertView;
 }
}

ViewPagerAdapter

public class ViewPageAdapter extends PagerAdapter {
private ArrayList<Integer> pagerItems;
private LayoutInflater inflater;
private Context context;
private FragmentManager fragmentManager;

public ViewPageAdapter(Context context, ArrayList<Integer> pagerItems) {
    super();
    this.pagerItems = pagerItems;
    this.context = context;
    inflater = LayoutInflater.from(context);
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
    try {
        View imageLayout = inflater.inflate(R.layout.layout_view_pager_item, container, false);
        final ImageView imageView = (ImageView) imageLayout
                .findViewById(R.id.image);
        imageView.setImageResource(pagerItems.get(position));
        container.addView(imageLayout, 0);
        return imageLayout;
    }catch (Exception ex){
        ex.printStackTrace();
        return null;
    }
 }

    @Override
public int getCount() {
    return pagerItems.size();
}

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

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

期望

  • 列表视图必须在每行显示viewpager个数据(此时我已对viewpager数据进行了硬编码)
  • 我们可以在Viewpager
  • 之后的TextView layout_data_listing_food中看到每行包含ViewPager ImageViewTextView

我在这里做错了什么?当我调试代码时没有错误:( 并且数据也从一个类传递到另一个类。任何帮助都会很明显

问题

我无法通过Image看到Viewpager加载,但我可以看到TextView文件中的layout内容

0 个答案:

没有答案