RecyclerView mRvMain;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_linear_recycler_view);
mRvMain= findViewById(R.id.rv_main);
LinearLayoutManager manager = new LinearLayoutManager(LinearRecyclerViewActivity.this);
mRvMain.setLayoutManager(manager);
mRvMain.setAdapter(new LinearAdapter());
}
Two Adapter
public class LinearAdapter the extends RecyclerView.Adapter < LinearAdapter.LinearViewHolder > {// This is the holder behind their definition @NonNull @Override // because the return value is RecyclerView.ViewHolder ( because LinearViewHolder ViewHolder subclass, it is used directly linearviewholder ) we should a new ViewHolder as the return value, because it is not a new class of all LinearViewHolder, and creates an object public LinearAdapter.LinearViewHolder onCreateViewHolder (@NonNull the ViewGroup parent, int viewType) { View View = LayoutInflater.from (parent.getContext ()). the inflate (R.layout.layout_linear_item, parent, to false ); return new new LinearViewHolder (view); // LinearViewHolder class constructor requires a view object must pass View objects, and so the use of pump displayed item, inflate to convert the XML document into a View object } @Override public void onBindViewHolder ( LinearAdapter.LinearViewHolder Holder , int position) { holder.mtv.setText ( "Hello" + position); } @Override public int getItemCount () { return 20 is ; } //////// own definition Holder ////// /////
class LinearViewHolder the extends RecyclerView.ViewHolder { PrivateMTV the TextView; public LinearViewHolder (@NonNull View ItemView) { // ItemView value is the value at the beginning of the outgoing onCreateViewHolder Super (ItemView); MTV = itemView.findViewById (R.id.tv_tile); } } }