Android(安卓)RecyclerView.Adapter基本使用
16lz
2021-12-04
MainActivity.java
public class MainActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private MyAdapter mMyAdapter; private LinearLayoutManager mLayoutManager; private List list; @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); mRecyclerView = findViewById(R.id.recycler_view); mMyAdapter = new MyAdapter(list); mLayoutManager = new LinearLayoutManager(this); mRecyclerView.setLayoutManager(mLayoutManager); mRecyclerView.setAdapter(mMyAdapter); } private void initData() { list = new ArrayList<>(); for (int i = 0; i <= 20; i++) { list.add("Item " + i); } }}
Adapter.java
public class MyAdapter extends RecyclerView.Adapter { //数据源 private List mList; public MyAdapter(List list) { mList = list; } //返回item个数 @Override public int getItemCount() { return mList.size() ; } //创建ViewHolder @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { return new NormalHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false)); } //填充视图 @Override public void onBindViewHolder(@NonNull final MyAdapter.ViewHolder holder, final int position) { holder.mView.setText(mList.get(position)); } public class ViewHolder extends RecyclerView.ViewHolder { public TextView mView; public ViewHolder(View itemView) { super(itemView); mView = itemView.findViewById(R.id.text_view); } }}
更多相关文章
- android ViewFlipper
- Android(安卓)Studio代码笔记09.自定义视图
- ANDROID视图空间代码
- [Android]Android(安卓)Design之Navigation Drawer
- Android开发实例详解之IMF(Android(安卓)SDK Sample—SoftKeyboar
- android平板上的GridView视图缓存优化
- Android中的两种坐标系
- Android(安卓)开发之旅:view的几种布局方式及实践
- Android(安卓)Kotlin ListView的使用