I have no display of the data from my firebase database. Only the search view appears on top. It gives a blank screen with no error. Can someone tell me what's wrong with the code. Below is the xml, main activity and adapter class. Also I have a contractor class having all setters and getters. Is the xml in the right format as well?
<
?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Home">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ED0316"
android:textSize="22sp"
android:fontFamily="sans-serif-condensed-light"
android:textColor="#fafafa"
android:id="@+id/txt" />
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<!-- TODO: Update blank fragment layout -->
<SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:iconifiedByDefault="false"
android:queryHint="Search here..."
android:transitionName="Search_box">
</SearchView>
</FrameLayout>
package com.example.myhouse;
import android.database.DatabaseUtils;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SearchView;
import com.google.firebase.*;
import com.google.firebase.auth.FirebaseAuth;
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.lang.reflect.Constructor;
import java.util.ArrayList;
import java.util.HashMap;
public class Home extends Fragment {
private ListView list;
private SearchView searchView;
@Override
@Nullable
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
View view=inflater.inflate(R.layout.fragment_home, container, false);
ArrayList<String> stuff=new ArrayList<>();
stuff.add("Company");
ArrayAdapter c=new ArrayAdapter(getActivity().getApplicationContext(),R.layout.fragment_home,R.id.txt);
list = view.findViewById(R.id.list);
list.setAdapter(c);
DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference().child("contractors");
mDatabase.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot snapshot:dataSnapshot.getChildren())
{
Contractors con= snapshot.getValue(Contractors.class);
String grade=con.getGrade();
stuff.add(grade);
}
c.notifyDataSetChanged();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.w("MY", "Failed to read value.", databaseError.toException());
}
});
return view;
}
}
public class contractorAdapter extends ArrayAdapter<String> {
private SearchView searchView;
private ArrayList<String> myArray;
Context context;
public contractorAdapter(@NonNull Context context, ArrayList<String> ArrayList)
{
super(context,0, ArrayList);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
return convertView;
}
}