Функция внутри карты просмотра Android - PullRequest
0 голосов
/ 05 сентября 2018

В приведенной ниже функции CardView должен показывать счет, но он не изменяется в соответствии со значением (если равный счет равен 10, если не равен 1.)

но я получаю только сложное значение 1

public void getOppositeUsers22(){
        usersDb.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                if (dataSnapshot.child("post").getValue() != null) {
                    if (dataSnapshot.exists() && !dataSnapshot.child("connections").child("nope").hasChild(currentUId) && !dataSnapshot.child("connections").child("yeps").hasChild(currentUId) &&dataSnapshot.child("post").getValue().toString().equals(oppositeUser2)) {
                        String profileImageUrl = "default";
                        Integer score2 =  1;


                        if (!dataSnapshot.child("profileImageUrl").getValue().equals("default")) {
                            profileImageUrl = dataSnapshot.child("profileImageUrl").getValue().toString();
                             if (dataSnapshot.child("industry").getValue().equals(innduusry)) {
                                 score2 = 10;


                            }
                        }

                        score = String.valueOf(score2);


                        cards item = new cards(dataSnapshot.getKey(), dataSnapshot.child("name").getValue().toString(),score, profileImageUrl);
                        rowItems.add(item);
                        arrayAdapter.notifyDataSetChanged();
                    }
                }
            }

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

Этот метод вызывает getOppositeUsers22 ()

public void checkUser(){
        final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
        DatabaseReference userDb = usersDb.child(user.getUid());
        userDb.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()){
                    if (dataSnapshot.child("post").getValue() != null){
                        innduusry = dataSnapshot.child("industry").getValue().toString();

                        oppositeUser2 = "post";


                        getOppositeUsers22();
                    }
                }
            }
            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });
    }
0 голосов
/ 05 сентября 2018

Решение:

Вместо:

if (dataSnapshot.child("industry").getValue().equals(innduusry)) {
        score2 = 10;
}

запись:

if (dataSnapshot.child("industry").getValue().toString().equals(innduusry)) {
        score2 = 10;
}

И попробуй. Надеюсь, что это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...