I am trying to read data from the Firebase database in a ListView
. Each item in the ListView
comes with a button, once that button is clicked the read data set in the textviews are written to the databse. The code below is the code I used for both showing the ListView
and writing to the database.This is my database
if (FirebaseAuth.getInstance().getCurrentUser() ==null{
Toast.makeText(getApplicationContext(),"logon first", Toast. Length.SHORT).show() ;
} else{
display() ;
}
private void display(){
Query query=FirebaseDatabase.getInstance().getReference().child("border_details");
FirebaseListOptions<DRive>options=new FirebaseListOptions.Builder<DRive>().setQuery(query,DRive.class).setLayout(R.layout.messages).build();
ListView list= findViewById(R.id.list_of_messages);
adapter=new FirebaseListAdapter<DRive>(options) {
@Override
protected void populateView(View v, DRive model, int position) {
Button d=(Button)findViewById(R.id.button_accept);
final TextView z=(TextView)findViewById(R.id.dropoff);
final TextView c=(TextView)findViewById(R.id.pickup);
final TextView f=(TextView)findViewById(R.id.timed);
final TextView m=(TextView) findViewById(R.id.points);
z.setText(model.getDropoffspot());
c.setText(model.getPickupspot());
f.setText(model.getPickuptime());
m.setText(model.getKey());
d.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DRive dRive=new DRive();
hec();
dRive.setDropoffspot(chi);
dRive.setKey(pt);
dRive.setPickupspot(g);
dRive.setPickuptime(boo);
dRive.setKey(pt);
myRef.child(pt).push().setValue(dRive);
Toast.makeText(getApplicationContext(),"shi",Toast.LENGTH_SHORT).show();
}
private void hec() {
pt=m.getText().toString();
boo=f.getText().toString();
chi=z.getText().toString();
g=c.getText().toString();
}
});
}
};
list.setAdapter(adapter);
and this is my json
{
"order_details" : {
"DEzUoNY6BqOVn1DVIbFwOk6B4dT2" : {
"-LlkSlkLOZYY7iy5vBWY" : {
"dropoffspot" : "17 nursery crescent",
"key" : "DEzUoNY6BqOVn1DVIbFwOk6B4dT2",
"kutaPoints" : 80,
"pickupspot" : "Mukuba l",
"pickuptime" : "teaTime"
}
}
} }
this is my drive class
public class DRive {
private String Pickuptime;
private String Pickupspot;
private String Dropoffspot;
private String passengers;
private String Key;
public DRive(String passengers, String Pickupspot, String Pickuptime, String Dropoffspot, String Key){
this.Dropoffspot=Dropoffspot;
this.Pickupspot=Pickupspot;
this.passengers=passengers;
this.Pickuptime=Pickuptime;
//mestime=new Date().getTime();
}
public DRive(){
}
public String getPickuptime(){
return Pickuptime;
}
public void setPickuptime(String time) {
this.Pickuptime = time;
}
public String getDropoffspot() {
return Dropoffspot;
}
public void setDropoffspot(String dropoffspot) {
this.Dropoffspot = Dropoffspot;
}
public String getPickupspot() {
return Pickupspot;
}
public void setPickupspot(String pickupspot) {
this.Pickupspot = Pickupspot;
}
public String getPassengers() {
return passengers;
}
public String getKey() {
return Key;
}
public void setKey(String key) {
Key = key;
}
The app is supposed to read data from the child order_details
and display that in the ListView
using the FirebaseListAdapter
, instead the app does not.
The app is supposed to read from the database and display the retrieved data in the parts of the listview using the FirebaseListAdapter
, instead it does not even show the ListView
. Kindly render assistance.