У меня есть Коллекция документов, и я пытаюсь поместить каждое поле «Имя» в стопку карточек. Коллекция называется «Пользователи», а Документы - «ИД пользователя». Каждый документ содержит поля «Имя» и «Пол» этого пользователя. До сих пор я был в состоянии получить имя текущего зарегистрированного пользователя в стеке карт, но у меня возникли проблемы с переносом других пользователей в базе данных в стек. Вот код, который я использую. Не получаю никаких ошибок в Logcat или сбоев. Данные просто не добавляются. Какие-либо предложения?
public class MainActivity extends AppCompatActivity {
public static final String TAG = MainActivity.class.getSimpleName();
TextView profileName,gender,StrangerName;
FirebaseAuth mAuth;
FirebaseFirestore dataBase;
String userID;
ImageView ProfilePic;
private SwipeCardsView swipeCardsView;
private List<Model> modelList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAuth = FirebaseAuth.getInstance();
dataBase = FirebaseFirestore.getInstance();
userID = mAuth.getCurrentUser().getUid();
ProfilePic = findViewById(R.id.profilePic);
StrangerName = findViewById(R.id.name);
gender = findViewById(R.id.thisperson);
profileName = findViewById(R.id.userName);
//SwipeCards
swipeCardsView = findViewById(R.id.swipeCardsView);
swipeCardsView.retainLastCard(false);
swipeCardsView.enableSwipe(true);
getUserDB();
getData();
}
// Method to get Users Documents
private void getUserDB () {
dataBase.collection("Users").get().addOnCompleteListener(new
OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
List<String> list = new ArrayList<>();
for (QueryDocumentSnapshot document : task.getResult()) {
list.add(document.getString("Name"));
}
Log.d(TAG, list.toString());
String strangers = list.toString();
StrangerName.setText(strangers);
} else {
Log.d(TAG, "Error getting documents: ", task.getException());
}
}});
}
// CardAdpater method
private void getData() {
modelList.add(new Model(StrangerName,ProfilePic));
CardAdpater cardAdpater = new CardAdpater(modelList,this);
swipeCardsView.setAdapter(cardAdpater);
}
private class CardStackTransformer implements ViewPager.PageTransformer {
@Override
public void transformPage(@NonNull View page, float position) {
}
//Logout onClick
public void LogOut(View view) {
FirebaseAuth.getInstance().signOut();
startActivity(new Intent(getApplicationContext(), Login.class));
finish();
}
}
}