如何使用Java android studio中的多个按钮从Firebase实时数据库中检索数据库?

时间:2019-07-02 14:02:15

标签: android firebase firebase-realtime-database

我尝试使用 Recyclerview适配器技术来检索数据作为主要活动中的行列表,我不需要举杯,因为我需要检索要显示在主页上的数据列表单击按钮后。

这个问题仅适用于一个按钮,我的计划是使用多个按钮,而每个按钮都使用Java代码(Android Studio)从相同的Firebase数据库中检索特定查询,有什么想法会有所帮助吗?谢谢

    主页(android和firebase)之间的
  1. 连接成功。
  2. 使用一个按钮通过一次查询建立连接以检索Firebase数据库,使用recyclerview成功检索了数据。
  3. 作为主数据中的一行数据,结果成功。
  4. 当我单击按钮时,它运行正常。
  5. 我已经在主要活动中创建了其他按钮并复制了代码,但这没有用。

主要活动 MedicsAdapter Medics活动 军医

在添加其他按钮后显示空白页,没有结果。 该文件是Medics活动:

db = FirebaseFirestore.getInstance();
    db.collection("profiles").get()
            .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
                @Override
                public void onSuccess(QuerySnapshot queryDocumentSnapshots) {

if(!queryDocumentSnapshots.isEmpty()){

                        List<DocumentSnapshot> list = queryDocumentSnapshots.getDocuments();

                        for(DocumentSnapshot d : list){

                            Medic p = d.toObject(Medic.class);
                            MedicList.add(p);

                        }

                        adapter.notifyDataSetChanged();

                    }

及以下主要活动:

@Override
public void onClick(View v) {

    switch(v.getId()){
        case R.id.button_save:
            saveProduct();
            break;
        case R.id.textview_view_medics:
            startActivity(new Intent(this, MedicsActivity.class));
            break;

        case R.id.imageView:
            startActivity(new Intent(this, MedicsActivity.class));
            break;


        case R.id.imageView2:
            startActivity(new Intent(this, MedicsActivity.class));
            break;
    }

}

[另一个按钮imageView2,我正在使用相同的适配器。]

1 个答案:

答案 0 :(得分:0)

我正在发布我之前提出的问题的答案,希望有人可以从中受益:

您必须为要从Firebase数据库中提取数据的每个按钮创建新活动,例如,如果button_1查看Firebase数据库中的数据,则一旦添加了另一个按钮,例如button_2,该按钮必须引用创建的新活动,好的部分不需要创建新的文件适配器或活动布局,只需要创建MedicsActivity: button_1 ...> MedicsActivity.java和activity_medics.xml button_2 ...> MedicsAcitivity 2.java和activity_medics2.xml

 case R.id.imageView2:
        startActivity(new Intent(this, MedicsActivity2.class));
        break;