Хотя в настоящее время в стандартном CSS нет родительского селектора, я работаю над (личным) проектом с именем ax (т. е. расширенный синтаксис селектора CSS / ACSSSS ), который среди семи новых селекторов , включает в себя:
<
(который позволяет сделать противоположный выбор >
) ^
(который позволяет сделать противоположный выбор [SPACE]
) ax в настоящее время на относительно ранней стадии разработки BETA.
См. Демонстрацию здесь:
http://rounin.co.uk/projects/axe/axe2.html
(сравните два списка на в левом стиле со стандартными селекторами и двумя списками справа в стиле с селекторами топора)
Для сравнения объекта String используйте = вместо == (double equals). Двойное равенство будет сравнивать ссылки, а не их значения.
Обновите код сравнения, как показано ниже:
private void checkFriendRequestStatus(final ButtonStatus buttonsCallback, final String strSignedInUID, final String visitedUsername, final String strVisitedUID) {
final DatabaseReference checkFriendRequestsRef = database.getReference("friend_requests/test/" + strSignedInUID);
checkFriendRequestsRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
// choice is 1 to show buttons, then select which buttons to show with second params
if (dataSnapshot.child("friends/" + visitedUsername).getValue(String.class).equals(strVisitedUID)) {
buttonsCallback.setButtonStatus(1, 1);
}
else if (dataSnapshot.child("sentFriendRequest/" + visitedUsername).getValue(String.class).equals(strVisitedUID)) {
buttonsCallback.setButtonStatus(1, 2);
}
else if (dataSnapshot.child("receivedFriendRequests/" + visitedUsername).getValue(String.class).equals(strVisitedUID)) {
buttonsCallback.setButtonStatus(1, 3);
}
else {
buttonsCallback.setButtonStatus(1, 4);;
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}