点是当我点击回收商视图列表的项目时
从卡片视图持有者中,项目的标题和照片被提取到相对布局
现在我想将 pdf url 与已在相对布局中获取的项目照片链接起来
所以..当我点击该图像时,pdf应该打开(单独针对所有项目)
我尝试应用打开pdf的接口
您必须将 pdf url 链接到找到相关 ImageView 的 ArrayList(或数组)的位置。你可以看下面的代码:
public class Adapter extends RecyclerView.Adapter<Adapter.Holder> {
private final Context;
private final ArrayList<String> pdfNames; // PDF names within the app
private final ArrayList<Integer> identities;
private final ArrayList<String> existingPDFNames; // Expected PDF names.
private final ArrayList<String> pdfUrls;
public Adapter(Context context, ArrayList<String> pdfNames, ArrayList<Integer> identities, ArrayList<String> existingPDFNames, ArrayList<String> pdfUrls) {
this.context = context;
this.pdfNames= pdfNames;
this.identities = identities;
this.existingPDFNames = existingPDFNames;
this.pdfUrls = pdfUrls;
}
@Override
public Holder onCreateViewHolder(ViewGroup parent, int viewType) {
final View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.custom_user_chat_adapter_layout, parent, false);
return new Holder(view);
}
@Override
public void onBindViewHolder(Holder holder, int position) {
final TextView pdfNameTextView= holder.pdfNameTextView;
final ImageView imageView = holder.imageView;
pdfNameTextView.setText(pdfNames.get(position));
imageView.setImageResource(identities.get(position));
// Here we handle linking PDF urls
imageView.setOnClickListener(view -> {
if (existingPDFNames.get(position).equals(pdfNames.get(position))) {
final pdfUrl = pdfUrls.get(position);
// Write a code that opens the pdf here
}
});
}
@Override
public int getItemCount() {
return pdfNames.size();
// or return identities.size();
}
static final class Holder extends RecyclerView.ViewHolder {
private final TextView pdfNameTextView;
private final ImageView imageView;
public Holder(View view) {
super(view);
pdfNameTextView = view.findViewById(R.id.pdfNameTextView);
imageView = view.findViewById(R.id.imageView);
}
}
}
我希望它有帮助,但不要忘记处理“existingPDFNames”和“pdfUrls”数组列表。这是一个示例(请注意添加项目的位置。):
pdfNames.add(0, "hello_world.pdf");
pdfNames.add(1, "hello_universe.pdf");
pdfUrls.add(0, "https://example.com/hello_world.pdf");
pdfUrls.add(1, "https://example.com/hello_universe.pdf");