onChildAdded在我的情况下无法正常工作

时间:2017-08-02 19:11:10

标签: java android firebase firebase-realtime-database

当活动开始时,它通过从firebase获取数据来显示列表视图中的所有数据。这根据我的愿望正常工作,但是当我向firebase数据库添加新节点时,它不会进入 如果条件是if (snapchat.getKey().equalsIgnoreCase("Order"))和以下所有代码,也没有设置适配器 这是我的代码如下 请帮忙。 抱歉我的英文

for (DataSnapshot snapchat: dataSnapshot.getChildren()) {
    if (snapchat.getKey().equalsIgnoreCase("Order")) {} else {
        for (DataSnapshot lat: snapchat.getChildren()) {
            if (isLatitudeGet) {
                try {
                    Longitude = Double.parseDouble(lat.getValue().toString());
                    addresses = location.getFromLocation(latitude, Longitude, 1);
                    if (addresses.size() > 0)
                        address = addresses.get(0).getSubLocality();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            Card card = new Card(dataSnapshot.getKey(), lat.getValue().toString(), tempLatitude, address);
            cardArrayAdapter.add(card);
            listView.setAdapter(cardArrayAdapter);
            isLatitudeGet = false;
        } else {
            isLatitudeGet = true;
            tempLatitude = lat.getValue().toString();
            try {
                String p = lat.getValue().toString();
                latitude = Double.parseDouble(p);
            } catch (NumberFormatException e) {

            }
        }

1 个答案:

答案 0 :(得分:1)

它不会进入if条件,因为你的if条件是空的。

JProperty

看到花括号,是空的。它在你的其他状态中的一切。要解决此问题,请将所有代码移动到if语句中,或者使用:

if (snapchat.getKey().equalsIgnoreCase("Order")) {}

希望它有所帮助。