【发布时间】:2018-12-06 16:44:46
【问题描述】:
我通过静态名称获取图像,例如
{R.drawable.image1,R.drawable.image2,R.drawable.image3}
如果我有大约 50 张图像,我无法在数组中给出每个文件名,因此它需要是动态的,我该如何实现这一点。还请告诉我将动态代码放在哪里
package com.example.nauman.swipeapp;
import android.annotation.SuppressLint;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class SwipeAdapter extends PagerAdapter {
private int[]image = {R.drawable.image1,R.drawable.image2,R.drawable.image3};
private Context cx;
SwipeAdapter(Context cx){
this.cx=cx;
}
@Override
public int getCount() {
return image.length;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return (view==(RelativeLayout)object);
}
@SuppressLint("SetTextI18n")
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
LayoutInflater layoutInflater = (LayoutInflater) cx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
assert layoutInflater != null;
View view= layoutInflater.inflate(R.layout.page_fragment,container,false);
ImageView imageView= view.findViewById(R.id.imageView);
imageView.setImageResource(image[position]);
container.addView(view);
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((RelativeLayout) object);
}
}
【问题讨论】:
标签: android android-viewpager swipe