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