Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 向每个ViewPager幻灯片添加多个图像和文本_Android_Android Viewpager - Fatal编程技术网

Android 向每个ViewPager幻灯片添加多个图像和文本

Android 向每个ViewPager幻灯片添加多个图像和文本,android,android-viewpager,Android,Android Viewpager,我有一个带3张幻灯片的寻呼机。在每张幻灯片上,我希望能够添加3个图像和两个不同的文本标签。我目前拥有的代码允许我在每张幻灯片中添加一张图像。我对如何在每张幻灯片上显示多个图像和文本感到困惑。任何帮助都将不胜感激 public class ImageAdapter extends PagerAdapter { private final Context context; private final int[] GalImages = new int[] { R.d

我有一个带3张幻灯片的寻呼机。在每张幻灯片上,我希望能够添加3个图像和两个不同的文本标签。我目前拥有的代码允许我在每张幻灯片中添加一张图像。我对如何在每张幻灯片上显示多个图像和文本感到困惑。任何帮助都将不胜感激

public class ImageAdapter extends PagerAdapter {

    private final Context context;
    private final int[] GalImages = new int[] {
        R.drawable.workout_widget_master,
        R.drawable.workout_widget_master,
        R.drawable.workout_widget_master
    };

    ImageAdapter(Context context){
        this.context=context;
    }
    @Override
    public int getCount() {
        return GalImages.length;
    }

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

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        ImageView imageView = new ImageView(context);
        int padding = 10;
        imageView.setPadding(padding, padding, padding, padding);
        imageView.setScaleType(ImageView.ScaleType.MATRIX);
        imageView.setImageResource(GalImages[position]);
        container.addView(imageView, 0);
        return imageView;
    }

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

这正是您想要的实现。。。现在为textview内容声明变量,声明ImageView,将它们绑定在一起。。。这应该可以…在您的活动中按声明的顺序将变量传递给适配器。这个解决方案将完美地发挥作用。我使用aquery从url获取图像。您只需传递图像资源并通过
imageview.setImageResource()绑定它即可方法

而不是这行代码 container.addView(imageView,0)

写下((VIewPager)容器).addView(imageview,null)

这将在一个寻呼机中添加上面提供的阵列的所有图像

用于实现三个寻呼机

步骤1:用xml声明3个ViewPager 然后在主要活动中


使用新的寻呼机初始化每个页面,并将适配器设置为ImageAdapter对象

根据您的要求创建一个视图,该视图将包含所需的图像和文本数量

在公共对象实例化项中(视图组容器,int位置)
将您的布局充气并添加到“查看”寻呼机中,它将非常有效。

如果您需要详细说明,请使用

ViewPagerIndicator动态布局 我做了一些研究,找到了这个动态布局的解决方案

问题:

答复:

为每个布局执行单击事件 使用手势监听器:

问题:


回答:

+1谢谢你,但你迟到了@niraj我早就收到了,谢谢你的努力!!!!::)
public class ViewPagerAdapter2 extends PagerAdapter {

Context context;
String[] image1;
String[] description;


LayoutInflater inflater;

public ViewPagerAdapter2(Context context, String[] image1,String[] description) {
    this.context = context;
    this.image1 = image1;
    this.description=description;


}

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

@Override
public Object instantiateItem(ViewGroup container, int position) {


    TextView des;

    inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View itemView = inflater.inflate(R.layout.slider, container,
            false);
    des = (TextView) itemView.findViewById(R.id.slider_des);
    des.setText(description[position]);

     AQuery aq = new AQuery(itemView);
     aq.id(R.id.imageView1).image(image1[position], true, true, 0, 0, null, AQuery.FADE_IN, AQuery.RATIO_PRESERVE);

     ((ViewPager) container).removeView(itemView);



    ((ViewPager) container).addView(itemView);

    return itemView;
}

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

}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return description.length;

}

}