0

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;
        }
    }
Frank van Puffelen
  • 499,950
  • 69
  • 739
  • 734

0 Answers0