首页 > 解决方案 > 如何修复我的 Arraylist 并将其设置在我的 ListView 中

问题描述

所以我遇到了将 Firestore 中的值放到我的列表视图中的问题。我在 Youtube 上观看了教程以了解其工作原理,但不幸的是没有任何效果。

我已经尝试了任何东西,但没有任何效果。

public class MainActivity extends AppCompatActivity {

    ArrayList<String> doctors =new ArrayList<String>();
    ListView txt;

    private FirebaseFirestore db = FirebaseFirestore.getInstance();
    private CollectionReference noteRef = db.collection("Doctors");
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        db.collection("Doctors")
                .get()
                .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<QuerySnapshot> task) {
                        if (task.isSuccessful()) {

                            for (QueryDocumentSnapshot document : task.getResult()) {
                                doctors.add(document.getId());


                            }
                        } else {
                            Toast.makeText(MainActivity.this,"Failed", Toast.LENGTH_LONG).show();

                        }
                    }
                });
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, doctors);

        txt = (ListView)findViewById(R.id.gg1);
        txt.setAdapter(arrayAdapter);
    }
}

标签: javaandroidfirebasegoogle-cloud-firestore

解决方案


尝试移动:

ArrayAdapter<String> arrayAdapter = new 
ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, doctors);

txt.setAdapter(arrayAdapter)

在 for 循环完成后到 onComplete 。那应该行得通。


推荐阅读