Ich kann keine Echtzeitdaten von Firebase abrufen, ich habe viele Sites verfolgt, aber nichts löst mein Problem. Sie waren hauptsächlich auf Recycler-Ansicht, aber ich möchte meine Daten auf eine Listenansicht abrufen .. Das ist kein Fehler, aber meine Listenansicht ist leer, wenn ich es im Emulator ausführen. Außerdem kann ich nicht Feuerbasis ui verwenden, da es einige Probleme in der Kartenansicht Abhängigkeit in meinem Projekt verwendet schafft .. Bitte help--Ich kann keine Daten vom Firebase in der Listenansicht abrufen
package com.serverphone.healthyfoods;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CheckedTextView;
import android.widget.ListView;
import com.firebase.client.ChildEventListener;
import com.firebase.client.DataSnapshot;
import com.firebase.client.Firebase;
import com.firebase.client.FirebaseError;
import java.util.ArrayList;
public class AlaCarte extends AppCompatActivity {
ListView lv;
String arr[]=new String[]{"Paneer Butter Masala","Chicken Butter Masala","Chicken Biriyani"};
ArrayList al=new ArrayList();
ArrayList food=new ArrayList();
Button btn;
Firebase mref;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ala_carte);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("Alacarte!!");
mref=new Firebase("https://healthy-foods-270de.firebaseio.com/Food items");
lv=(ListView)findViewById(R.id.listView);
btn=(Button)findViewById(R.id.button8);
final ArrayAdapter<String> aa=new ArrayAdapter<String>(AlaCarte.this,android.R.layout.simple_list_item_multiple_choice,food);
lv.setAdapter(aa);
mref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
//String key=dataSnapshot.getKey();
//String value=dataSnapshot.getValue(String.class);
//String item=key+"-->"+value;
String value=dataSnapshot.getValue(String.class);
food.add(value);
aa.notifyDataSetChanged();
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
CheckedTextView checkedTextView = ((CheckedTextView) view);
//checkedTextView.setChecked(!checkedTextView.isChecked());
if (checkedTextView.isChecked()) {
checkedTextView.setChecked(false);
al.remove(adapterView.getItemAtPosition(i));
} else {
checkedTextView.setChecked(true);
al.add(adapterView.getItemAtPosition(i));
}
}
});
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (al.isEmpty()) {
Snackbar.make(view, "Select check boxes to place your order", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
} else {
Intent i = new Intent(AlaCarte.this, ConfirmAlacarte.class);
i.putExtra("mylist",al);
startActivity(i);
}
}
});
/*FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});*/
}
}