android recycle 的简单用法
来源:互联网 发布:知与行杂志版面费 编辑:程序博客网 时间:2024/06/14 01:20
转载请标明出处:
http://blog.csdn.net/lmj623565791/article/details/45059587;
本文出自:【张鸿洋的博客】
开始—>
这是我的整体布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/recycle"> </android.support.v7.widget.RecyclerView></LinearLayout>
这是item的布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="2dp"> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:gravity="center" android:background="#5abfed" android:textColor="#ffffff" android:text="1" android:id="@+id/text_char"/></LinearLayout>
我的activity
public class Recycler extends Activity { private List<String> mDatas; private RecyclerView recyclerView = null; private HomeAdapter adapter; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.recycler); recyclerView = (RecyclerView) findViewById(R.id.recycle); //初始化数据 initData(); /* *设置布局管理器 *1.linearlayout管理器 *2.gridlayout管理器 *3.横向的gridlayout管理器 *4.纵向的gridlayout管理器 */ recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setLayoutManager(new GridLayoutManager(this, 4)); recyclerView.setLayoutManager(new StaggeredGridLayoutManager(4, StaggeredGridLayoutManager.HORIZONTAL)); recyclerView.setLayoutManager(new StaggeredGridLayoutManager(4, StaggeredGridLayoutManager.VERTICAL)); //设置adapter recyclerView.setAdapter(adapter = new HomeAdapter()); } private void initData(){ mDatas = new ArrayList<String>(); for (int i = 'A'; i < 'z'; i++) { mDatas.add("" + (char)i); } } //adapter的写法 class HomeAdapter extends RecyclerView.Adapter<HomeAdapter.MyViewHolder> { @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { MyViewHolder holder = new MyViewHolder( LayoutInflater.from(Recycler.this).inflate(R.layout.recycle_item, parent, false)); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.tv.setText(mDatas.get(position)); ViewGroup.LayoutParams layoutParams = holder.tv.getLayoutParams(); layoutParams.height = (int) (Math.random()*100 + 100); Log.i("xjxu", layoutParams.height + ""); holder.tv.setLayoutParams(layoutParams); } @Override public int getItemCount() { return mDatas.size(); } public void addData(int position) { mDatas.add(position, "Insert One"); notifyItemInserted(position); } public void removeData(int position) { mDatas.remove(position); notifyItemRemoved(position); } class MyViewHolder extends RecyclerView.ViewHolder { TextView tv; public MyViewHolder(View itemView) { super(itemView); tv = (TextView) itemView.findViewById(R.id.text_char); } } }}
添加和删除数据的时候只需要在你用的地方
适当的调用adapter.addData(position); 或者 adapter.removeData(position);
good 完成 我只有简单的用法,如果想深入了解,请去开始的标注的博客
0 0
- android recycle 的简单用法
- Recycle view的用法
- android recycle()
- Android系统事件的recycle原理
- android Bitmap.recycle()的相关问题
- Android系统事件的recycle原理
- Android中recycle高度的计算
- Android中有没有必要调用Bitmap的recycle()
- Android开发之浅谈Bitmap的recycle问题
- Bitmap的recycle问题
- Bitmap的recycle问题
- Bitmap的recycle问题
- BitMap的recycle问题
- Bitmap的recycle问题
- Recycle的使用
- [Android]简单Spinner的用法
- android 简单tabHost的用法
- android Canvas的简单用法
- 特征提取keypoint结构以及xxDescriptorExtractor提取结果
- Nginx Web服务器入门学习
- 那些年我们用过的显示性能指标
- Java基础之Comparator比较器接口使用原理
- 流程图 思维导图
- android recycle 的简单用法
- cocoapods卸载与安装的各种坑
- C++ 操作符重载
- 红宝书 第17章整理——错误处理
- Android 定时器
- 在jsp页面中使用EL表达式无法解析spring mvc中Model或者ModelAndView传的值
- 仅针对IE8的css hack
- ros::spin() 和 ros::spinOnce() 区别及详解
- oracle如何设置序列当前值