java - 如何从 Firebase 在 RecyclerView 中打开 URL?
问题描述
添加了两个按钮“访问”和“共享”,并稍作修改。通过单击访问按钮,您可以访问相应的网站,并且共享按钮用于将数据共享到其他应用程序,例如 WhatsApp、Gmail..等。添加了两个按钮“访问”和“共享”,并稍作修改。通过单击访问按钮,您可以访问相应的网站,并且共享按钮用于将数据共享到其他应用程序,例如 WhatsApp、Gmail..等。在 RecycleView 中从 firebase 加载数据
从 Firebase 获取 URL 并执行操作。
模型.java 类
public class BookModel {
String share;
String visit;
public BookModel() {
}
public BookModel(String share, String visit) {
this.share = share;
this.visit = visit;
}
public String getShare() {
return share;
}
public void setShare(String share) {
this.share = share;
}
public String getVisit() {
return visit;
}
public void setVisit(String visit) {
this.visit = visit;
}
RecycleView 适配器类
public class BookAdapter extends FirebaseRecyclerAdapter<BookModel, BookAdapter.ViewHolder> {
Context context;
public BookAdapter(@NonNull FirebaseRecyclerOptions<BookModel> options, Context context) {
super(options);
this.context = context;
}
public BookAdapter(@NonNull FirebaseRecyclerOptions<BookModel> options) {
super(options);
}
@Override
protected void onBindViewHolder(@NonNull ViewHolder holder, int position, @NonNull BookModel model) {
holder.share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// SHARE INTENT ?
}
});
holder.visit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse( ? ?????));
???
}
});
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.sample_list, parent, false);
return new ViewHolder(view);
}
public class ViewHolder extends RecyclerView.ViewHolder {
Button visit;
Button share;
public ViewHolder(@NonNull View itemView) {
super(itemView);
visit = (Button) itemView.findViewById(R.id.btnvisit);
share = (Button) itemView.findViewById(R.id.btnshare);
}
}
}
解决方案
要从您的应用程序在 Android 的网络浏览器中打开 URL,请更改以下代码行:
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse( ? ?????));
至:
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(model.getVisit()));
仅当您拥有有效的 URL 时,这才有效。
推荐阅读
- ios - UIAlertAction 处理程序在错误的时间调用?
- python - 为什么调用函数时数字不增加?
- dart - 如何去除滚动发光?
- python - 检测网格的角落
- python - 将对象类型的数据框列转换为浮点数
- android - Android 本地广播收不到
- c - 我的代码块编译程序在运行特定代码时崩溃
- node.js - 查询索引 IDB 上的对象
- database - 在 cassandra 中,如果我每个查询都有一个表并且我有多个过滤器组合,我是否为每个查询创建一个表?
- sql-server - 如果我有 tblBookInfo(bookId、title... 等)并且我希望它有类别列,那么最好的方法是什么?