Saturday, 10 December 2022

RecyclerView implementation using Java in Android

To use a RecyclerView in an Android app, you will need to do the following:


Add the RecyclerView library to your app's build.gradle file:


dependencies {

    implementation 'com.android.support:recyclerview-v7:28.0.0'

}


In your app's layout XML file, add a RecyclerView element with a unique id attribute:


<android.support.v7.widget.RecyclerView

    android:id="@+id/my_recycler_view"

    android:layout_width="match_parent"

    android:layout_height="match_parent" />


In the activity or fragment that will display the RecyclerView, define a member variable for the RecyclerView and initialize it in the onCreate method:


public class MyActivity extends AppCompatActivity {


    private RecyclerView mRecyclerView;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_my);


        mRecyclerView = findViewById(R.id.my_recycler_view);

    }

}

Create a RecyclerView.Adapter that will be responsible for binding your data to the RecyclerView:


public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> {


    private List<MyData> mDataList;


    public MyAdapter(List<MyData> dataList) {

        mDataList = dataList;

    }


    @Override

    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        // Inflate a new view and return a new MyViewHolder instance

    }


    @Override

    public void onBindViewHolder(MyViewHolder holder, int position) {

        // Bind the data from the specified position in the data list to the

        // MyViewHolder

    }


    @Override

    public int getItemCount() {

        return mDataList.size();

    }

}


Create a RecyclerView.ViewHolder that will hold the views that you want to display for each item in the list:


public class MyViewHolder extends RecyclerView.ViewHolder {


    public TextView mTextView1;

    public TextView mTextView2;

    public ImageView mImageView;


    public MyViewHolder(View itemView) {

        super(itemView);

        mTextView1 = itemView.findViewById(R.id.text_view1);

        mTextView2 = itemView.findViewById(R.id.text_view2);

        mImageView = itemView.findViewById(R.id.image_view);

    }

}

Set the LayoutManager for the RecyclerView and attach the MyAdapter instance to the RecyclerView:


public class MyActivity extends App 

No comments:

Post a Comment