要解决“AndroidX中的“添加urlImage 3次到AdapterViewPager问题”,你可以使用以下代码示例:
首先,在你的项目中添加以下依赖项到build.gradle文件中:
implementation 'androidx.viewpager2:viewpager2:1.0.0'
implementation 'com.squareup.picasso:picasso:2.71828'
接下来,创建一个名为ImageViewPagerAdapter的适配器类:
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.squareup.picasso.Picasso;
import java.util.List;
public class ImageViewPagerAdapter extends RecyclerView.Adapter {
private Context mContext;
private List mImageUrlList;
public ImageViewPagerAdapter(Context context, List imageUrlList) {
mContext = context;
mImageUrlList = imageUrlList;
}
@NonNull
@Override
public ImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.item_image, parent, false);
return new ImageViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ImageViewHolder holder, int position) {
String imageUrl = mImageUrlList.get(position);
Picasso.get().load(imageUrl).into(holder.imageView);
}
@Override
public int getItemCount() {
return mImageUrlList.size();
}
public class ImageViewHolder extends RecyclerView.ViewHolder {
ImageView imageView;
public ImageViewHolder(@NonNull View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.imageView);
}
}
}
然后,在你的活动或片段中,使用以下代码来设置ViewPager2和适配器:
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.viewpager2.widget.ViewPager2;
import android.os.Bundle;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ViewPager2 mViewPager;
private RecyclerView mRecyclerView;
private ImageViewPagerAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = findViewById(R.id.viewPager);
mRecyclerView = findViewById(R.id.recyclerView);
List imageUrlList = new ArrayList<>();
imageUrlList.add("https://example.com/image1.jpg");
imageUrlList.add("https://example.com/image2.jpg");
imageUrlList.add("https://example.com/image3.jpg");
mAdapter = new ImageViewPagerAdapter(this, imageUrlList);
mViewPager.setAdapter(mAdapter);
// 如果你想将ViewPager2嵌套在RecyclerView中,请取消注释以下代码:
/*
LinearLayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
mRecyclerView.setLayoutManager(layoutManager);
mRecyclerView.setAdapter(mAdapter);
*/
}
}
最后,确保你在布局文件中包含了ViewPager2和ImageView的布局:
这样,你就可以在ViewPager2中加载和显示多个URL图片了。