首页 > 解决方案 > 如何从 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);
    }


}

}

标签: javaandroidfirebasefirebase-realtime-database

解决方案


要从您的应用程序在 Android 的网络浏览器中打开 URL,请更改以下代码行:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse( ? ?????));

至:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(model.getVisit()));

仅当您拥有有效的 URL 时,这才有效。


推荐阅读