我正在制作使用集成摄像头的应用程序,将图像保存在内部存储中,然后它应该通过RecycleView以片段形式显示为连续3张图像。
此方法用于保存图像:
this.cheapestFruit.price = price;
我无法弄清楚如何制作一个可以做这种事情的适配器。
答案 0 :(得分:0)
就适配器而言,试试这个适配器, 首先在创建它之前为它设置一个布局管理器,它会在一行中显示每3个图像:
RecyclerView.LayoutManager manager = new GridLayoutManager(context,3);
RecyclerView recyclerView = findViewById(R.id.recycler);
recyclerView.setLayoutManager(manager);
而不是创建一个xml,以便稍后在适配器中对其进行充气,我们将其命名为inflation.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/image"
android:layout_width="100dp"
android:layout_height="100dp" />
而不是创建你的适配器:
public class Adapter extends RecyclerView.Adapter<Adapter.myViewHolder> {
Context ctx;
//this is your images
List<Bitmap> myImages;
Adapter(Context context, List<Bitmap> images) {
this.ctx = context;
this.myImages = images;
}
@Override
public Adapter.myViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = getLayoutInflater().inflate(R.layout.inflation, parent, false);
return new myViewHolder(view);
}
@Override
public void onBindViewHolder(Adapter.myViewHolder holder, int position) {
holder.image.setImageBitmap(myImages.get(position));
}
@Override
public int getItemCount() {
return myImages.size();
}
class myViewHolder extends RecyclerView.ViewHolder {
ImageView image;
public myViewHolder(View itemView) {
super(itemView);
image = itemView.findViewById(R.id.image);
}
}
}
并将适配器设置为recyclerView
Adapter adapter = new Adapter(this, "//your data" )
recyclerView.setAdapter(adapter);
希望这会有所帮助。