Android常用控件之RecyclerView
16lz
2021-01-26
目录:android.support.v7.widget.RecyclerView
xml布局:
<?xml version="1.0" encoding="utf-8"?>
代码使用:
public class MainActivity extends AppCompatActivity { private RecyclerView mRecyclerView; private RecyclerView.Adapter mAdapter; private RecyclerView.LayoutManager mLayoutManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view); // 设置布局管理器 mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false); mRecyclerView.setLayoutManager(mLayoutManager); // 设置adapter mRecyclerView.setAdapter(mAdapter = new RvAdapter(getData())); } private List getData() { List data = new ArrayList<>(); String temp = " item"; for(int i = 0; i < 20; i++) { data.add(i + temp); } return data; }}
使用的适配器:
public class RvAdapter extends RecyclerView.Adapter{ private List mData; public RvAdapter(List data) { this.mData = data; } public void updateData(List data) { this.mData = data; notifyDataSetChanged(); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new ViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_icon_text, parent, false)); } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.processData(position); } @Override public int getItemCount() { return mData == null ? 0 : mData.size(); } public class ViewHolder extends RecyclerView.ViewHolder { private TextView tv_title; public ViewHolder(View itemView) { super(itemView); tv_title = (TextView) itemView.findViewById(R.id.tv_title); } private void processData(int position) { tv_title.setText(mData.get(position)); } }}
更多相关文章
- Android笔记之使用Toast
- Android(安卓)仿苹果自定义Dialog
- 使用Kotlin的Android(安卓)Toast
- 利用广播实现ip拨号
- com.android.cts.devicepolicy.ManagedProfileTest -- testAppLi
- Android(安卓)Metrail Design
- Android:线性布局(LinearFrame)例子
- Android(安卓)技术总结(016)—— 使用百度地图api获取当前位置
- android EditText不弹出软键盘的方法