Skip to content Skip to sidebar Skip to footer

Displaying Data In A Recyclerview

I have this working perfectly with a ListView, but decided to update my code to use RecyclerView. I see there is no default implementation, and the responses to similar questions a

Solution 1:

Your can try

  1. In your activity

    ArrayList<Author> authors = dbHandler. getAllAuthors();
    recyclerView.setHasFixedSize(true);
    
    // ListView
    recyclerView.setLayoutManager(newLinearLayoutManager(youractivity.this));
    
    
    // create an Object for AdapterCardViewDataAdapter1mAdapter=newCardViewDataAdapter1(authors);
    
    // set the adapter object to the Recyclerview
    recyclerView.setAdapter(mAdapter);
    
  2. Your adapter is look like

    classCardViewDataAdapter1extendsRecyclerView.Adapter<CardViewDataAdapter1.ViewHolder> {
       private ArrayList<Author> dataSet;
    
    
    publicCardViewDataAdapter1(ArrayList<Author> os_versions) {
    
        dataSet = os_versions;
    }
    
    
    @Overridepublic CardViewDataAdapter1.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {
      // create a new viewViewitemLayoutView= LayoutInflater.from(viewGroup.getContext()).inflate(
                R.layout.recycler_item, null);
    
        itemLayoutView.setLayoutParams(newRecyclerView.LayoutParams(RecyclerView.LayoutParams.MATCH_PARENT, RecyclerView.LayoutParams.WRAP_CONTENT));
    
        // create ViewHolder
    
        CardViewDataAdapter1.ViewHolderviewHolder=newCardViewDataAdapter1.ViewHolder(itemLayoutView);
    
        return viewHolder;
    }
    
    @OverridepublicvoidonBindViewHolder(CardViewDataAdapter1.ViewHolder viewHolder, int i) {
    
        Authorfp= dataSet.get(i);
    
        viewHolder.tv_name.setText(fp.getName());
    
    
    
    
        viewHolder.menu = fp;
    }
    
    @OverridepublicintgetItemCount() {
    
        return dataSet.size();
    }
    
    publicvoidupdateList(List<Author> temp) {
        dataSet = (ArrayList<Author>) temp;
        notifyDataSetChanged();
    }
    
    // inner class to hold a reference to each item of RecyclerViewpublicclassViewHolderextendsRecyclerView.ViewHolder {
    
        public TextView tv_name;
    
    
        public Author menu;
        publicViewHolder(View itemLayoutView) {
            super(itemLayoutView);
    
            tv_name = (TextView) itemLayoutView  .findViewById(R.id.tv_name);
    
    
           }
    
       }
     }
    
  3. Your recycler_item.xml

    <?xml version="1.0" encoding="utf-8"?><android.support.v7.widget.CardViewxmlns:android="http://schemas.android.com/apk/res/android"xmlns:card_view="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"card_view:cardCornerRadius="5dp"card_view:cardBackgroundColor="#FFFFFF"card_view:cardUseCompatPadding="true"
       ><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><TextViewandroid:id="@+id/tv_name"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Enamul"/></LinearLayout></android.support.v7.widget.CardView>

Post a Comment for "Displaying Data In A Recyclerview"