Я пытаюсь заполнить свое listview данными из запроса firebase. Мой код:Создать listview из запроса firebase
public class ShowGoalsListActivity extends AppCompatActivity {
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference();
DatabaseReference messages = mDatabase.child("messages");
ArrayList<String> NameList = new ArrayList<String>();;
public void onCreate(Bundle saveInstanceState)
{
super.onCreate(saveInstanceState);
setContentView(R.layout.goals_list);
ListView animalList=(ListView)findViewById(R.id.listViewAnimals);
getNames();
ArrayAdapter<String> arrayAdapter =
new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, NameList);
animalList.setAdapter(arrayAdapter);
animalList.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView<?> arg0, View v,int position, long arg3)
{
String selectedAnimal=NameList.get(position);
Toast.makeText(getApplicationContext(), "Animal Selected : "+selectedAnimal, Toast.LENGTH_LONG).show();
}
});
}
void getNames()
{
Query queryRef = messages.orderByChild("pages");
queryRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Map data = (Map) dataSnapshot.getValue();
String name = (String) data.get("name");
NameList.add(name);
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot){
}
@Override
public void onCancelled(DatabaseError databaseError){}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s1){}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s2){}
});
}
}
Но когда я перехожу к своему расположению, этот список пуст. Но если я перейду к другому макету, а затем вернусь к списку целей, то listview содержит все элементы, которые мне нужны. Что может быть проблемой?
Спасибо! Он работает – DzouSi
Приятно слышать. Если бы мой ответ был полезен, нажмите кнопку вверху слева от него. Если он ответил на ваш вопрос, нажмите галочку, чтобы принять его. Таким образом, другие знают, что вам (в достаточной мере) помогли. –