I will explain How you can display your Fire-base data as list in Android studio .
Follow these steps-
1. create an activity in android
Firstly you need to create an activity (java file and xml file ). This activity name is start (name can be your choice) So here is the java and xml code below-
activity_start-
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/list1" android:layout_width="match_parent" android:layout_height="match_parent"></ListView> </LinearLayout>
start.java-
package com.example.myapplication; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.widget.Toast; import android.util.Log; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.TextView; import com.firebase.ui.database.FirebaseListAdapter; import com.google.firebase.database.DataSnapshot; import com.google.firebase.database.DatabaseError; import com.google.firebase.database.DatabaseReference; import com.google.firebase.database.FirebaseDatabase; import com.google.firebase.database.ValueEventListener; import java.util.ArrayList; import java.util.Arrays; public class start extends AppCompatActivity { private static final String TAG = start; private ListView mListView; private TextView Ans1,Ans2,Ans3; private FirebaseListAdapter adapter; private DatabaseReference databse; private ArrayAdapter madapter; private Arrays arrays; private ArrayListsurveys list; private Object surveys; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_start); list = new ArrayListsurveys(); databse=FirebaseDatabase.getInstance().getReference().child(surveys); databse.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { showData(dataSnapshot); } @Override public void onCancelled(@NonNull DatabaseError databaseError) { throw databaseError.toException(); } }); } public void showData(DataSnapshot dataSnapshot) { for (DataSnapshot ds dataSnapshot.getChildren()) { surveys ss1 = ds.getValue(surveys.class); list.add(ss1); } final listviewAdapter adapter = new listviewAdapter(this, list); populateList(); mListView = (ListView) findViewById(R.id.list1); mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int position, long l) { Toast.makeText(start.this, list.get(i)+, Toast.LENGTH_SHORT).show(); String TempListViewClickedValue = list[position].toString(); Object os= adapter.getItem(position); Intent intent = new Intent(start.this, PassingActivity.class); Sending value to another activity using intent. intent.putExtra(ListViewClickedValue, TempListViewClickedValue); startActivity(intent); } }); mListView.setAdapter(adapter); adapter.notifyDataSetChanged(); } }
2. create Another activity –
In third steps you will create a java class which is pass to the list view adapter , As –
surveys.java-
package com.example.myapplication; public class surveys { public String userid; public String ques1; public String ans1; public String ques2; public String ans2; public String ques3; public String ans3; public String getAns1() { return ans1; } public void setAns1(String ans1) { this.ans1 = ans1; } public String getAns2() { return ans2; } public void setAns2(String ans2) { this.ans2 = ans2; } public String getAns3() { return ans3; } public void setAns3(String ans3) { this.ans3 = ans3; } }
surveys-
In this xml file data will show as a list on your screen –
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="558dp"> <TextView android:id="@+id/ans1" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/ans2" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:id="@+id/ans3" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </ListView> </LinearLayout>
3. create another java class-
package com.example.myapplication; public class Constant { public static final String FIRST_COLUMN = "First"; public static final String SECOND_COLUMN = "Second"; public static final String THIRD_COLUMN = "Third"; public static final String FOURTH_COLUMN = "Fourth"; public static final String FIFTH_COLUMN = "Fifth"; public static final String SIXTH_COLUMN = "Sixth"; }
4. create a java file in studio-
package com.example.myapplication; import android.app.Activity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.TextView; import java.util.ArrayList; import java.util.HashMap; public class listviewAdapter extends BaseAdapter { public ArrayList<surveys> list; Activity activity; public listviewAdapter(Activity activity, ArrayList<surveys> list) { super(); this.activity = activity; this.list = list; } @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return list.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } private class ViewHolder { TextView txtFirst,txtSecond,txtThird,txtFourth,txtFifth,txtSixth,txtSeventh; } @Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub // TODO Auto-generated method stub ViewHolder holder; LayoutInflater inflater = activity.getLayoutInflater(); if (convertView == null) { convertView = inflater.inflate(R.layout.mainstart, null); holder = new ViewHolder(); holder.txtFirst = (TextView) convertView.findViewById(R.id.txt1); holder.txtSecond = (TextView) convertView.findViewById(R.id.txt2); holder.txtThird = (TextView) convertView.findViewById(R.id.txt3); holder.txtFourth = (TextView) convertView.findViewById(R.id.txt4); holder.txtFifth = (TextView) convertView.findViewById(R.id.txt5); holder.txtSixth = (TextView) convertView.findViewById(R.id.txt6); holder.txtSeventh= (TextView)convertView.findViewById(R.id.txt7); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } surveys map = list.get(position); holder.txtFirst.setText((CharSequence) map.ques1); holder.txtFourth.setText((CharSequence) map.ans1); holder.txtSecond.setText((CharSequence) map.ques2); holder.txtFifth.setText((CharSequence) map.ans2); holder.txtThird.setText((CharSequence) map.ques3); holder.txtSixth.setText((CharSequence) map.ans3); return convertView; } }
By this above code Firebase data list will show as a result.
Hope this would work for you.
Thanks.