我RecyclerView用它从 Cloud FirestoreCardViews中检索了两个TextViews,每当我点击卡片时,我希望它根据pdfUrl存储在我的 Firestore 数据库中,使用 pdf 打开活动或将 pdf 下载到手机。但我不知道如何实现这一目标。我的代码:public class RecylerViewTestsActivity extends AppCompatActivity {RecyclerView recyclerView;private FirebaseFirestore db = FirebaseFirestore.getInstance();private FirestoreRecyclerAdapter<uploadTests, TestesViewHolder> adapter;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.recyler_view_tests); RecyclerView recyclerView = findViewById(R.id.recyclerViewTests); recyclerView.setLayoutManager(new LinearLayoutManager(this)); FirebaseFirestore rootRef = FirebaseFirestore.getInstance(); Query query = rootRef.collection("FilterPDFUploads"); FirestoreRecyclerOptions<uploadTests> options = new FirestoreRecyclerOptions.Builder<uploadTests>() .setQuery(query, uploadTests.class) .build(); adapter = new FirestoreRecyclerAdapter<uploadTests,TestesViewHolder >(options) { @Override protected void onBindViewHolder(@NonNull TestesViewHolder holder, int position, @NonNull uploadTests model) { holder.setTestesDesc(model.getDescription()); holder.setTestesName(model.getUsername()); } @NonNull @Override public TestesViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.pdf_tests_items, parent, false); return new TestesViewHolder(view); } }; recyclerView.setAdapter(adapter);}//////////////////////////VIEW HOLDER////////////////////////////////////////////private class TestesViewHolder extends RecyclerView.ViewHolder { private View view; private CardView itemsCard; TestesViewHolder(final View itemView) { super(itemView); view = itemView; }
1 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
每当我点击卡片时,我希望它基于存储在我的 firestore 数据库中的 pdfUrl,使用 pdf 打开活动或将 pdf 下载到手机
为了解决这个问题,你应该setOnClickListener()在你的TestesViewHolder对象上使用。在点击监听器中,请添加以下代码行:
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
url存储在数据库中的实际 url在哪里。而已!
添加回答
举报
0/150
提交
取消
