Я пытаюсь реализовать ListView, который будет отображать имена некоторых документов, хранящихся в коллекции в проекте Cloud Firestore.Тем не менее, он отображает только деления на количество элементов в списке.Каждое подразделение кликабельно, но в нем нет текста.
- Класс объекта:
public class stPopulation {
public String subtopic;
public stPopulation(){}
public stPopulation(String subtopic){
this.subtopic = subtopic;
}
public String getSubtopic(){
return subtopic;
}
}
Список Адаптер
public class ListAdapter extends ArrayAdapter<stPopulation> {
public ListAdapter(Context context, ArrayList<stPopulation> object) {
super(context, 0, object);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null){
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_subtopic, parent, false);
}
stPopulation dir = getItem(position);
TextView tvSubtopic = convertView.findViewById(R.id.tvSubtopic);
tvSubtopic.setText(dir.getSubtopic());
tvSubtopic.setTextColor(Color.RED);
return convertView;
}
}
Activity
public class SubTopicsActivity extends AppCompatActivity {
private ListView sListView;
TextView tvSubTopic;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub_topics);
final FirebaseFirestore subTopicsDatabase = FirebaseFirestore.getInstance();
sListView = findViewById(R.id.list_view);
subTopicsDatabase.getInstance().collection("examTopics").get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
ArrayList<stPopulation> subtopicsList = new ArrayList<>();
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
stPopulation subtopic = document.toObject(stPopulation.class);
subtopicsList.add(subtopic);
}
ListAdapter adapter = new ListAdapter(SubTopicsActivity.this, subtopicsList);
sListView.setAdapter(adapter);
adapter.notifyDataSetChanged();
} else {
}
}
});
}
}
Я не получаю никаких сообщений об ошибках, программа работает нормально, просто текст (полученный из имен документов в firestore) не хочет отображаться наListView.