android recycleview使用
来源:互联网 发布:澳大利亚学生签证知乎 编辑:程序博客网 时间:2024/06/06 15:42
android recycleview使用
RecyclerView是一个比ListView更灵活的一个控件,以后可以直接抛弃ListView了
Item 布局
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/recycler_view_test_item_person_view" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="15dp" android:background="#aabbcc" ><TextView android:id="@+id/recycler_view_test_item_person_name_tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="18sp" android:background="#ccbbaa" /><TextView android:id="@+id/recycler_view_test_item_person_age_tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingLeft="5dp" android:background="#aaccbb" android:textSize="15sp" /></LinearLayout>
activity 布局
<android.support.v7.widget.RecyclerView android:id="@+id/recycler_view_test_rv" android:scrollbars="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#bbccaa" />
activity关键代码
recyclerView.setHasFixedSize(true); RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(context); recyclerView.setLayoutManager(layoutManager); initData(); adapter = new PersonAdapter(personList); adapter.setOnRecyclerViewListener(this); recyclerView.setAdapter(adapter); 这里有个layoutmanager的概念 也是不同于listview gridview的地方 可以轻松使用以上的效果 还能实现瀑布流
adapter
package com.wangjie.helloandroid.sample.recycler.person;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.LinearLayout;import android.widget.TextView;import com.wangjie.androidbucket.log.Logger;import com.wangjie.helloandroid.R;import java.util.List;public class PersonAdapter extends RecyclerView.Adapter {public static interface OnRecyclerViewListener { void onItemClick(int position); boolean onItemLongClick(int position);}private OnRecyclerViewListener onRecyclerViewListener;public void setOnRecyclerViewListener(OnRecyclerViewListener onRecyclerViewListener) { this.onRecyclerViewListener = onRecyclerViewListener;}private static final String TAG = PersonAdapter.class.getSimpleName();private List<Person> list;public PersonAdapter(List<Person> list) { this.list = list;}@Overridepublic RecyclerView.ViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) { Logger.d(TAG, "onCreateViewHolder, i: " + i); View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.recycler_view_test_item_person, null); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); view.setLayoutParams(lp); return new PersonViewHolder(view);}@Overridepublic void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) { Logger.d(TAG, "onBindViewHolder, i: " + i + ", viewHolder: " + viewHolder); PersonViewHolder holder = (PersonViewHolder) viewHolder; holder.position = i; Person person = list.get(i); holder.nameTv.setText(person.getName()); holder.ageTv.setText(person.getAge() + "岁");}@Overridepublic int getItemCount() { return list.size();}class PersonViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener{ public View rootView; public TextView nameTv; public TextView ageTv; public int position; public PersonViewHolder(View itemView) { super(itemView); nameTv = (TextView) itemView.findViewById(R.id.recycler_view_test_item_person_name_tv); ageTv = (TextView) itemView.findViewById(R.id.recycler_view_test_item_person_age_tv); rootView = itemView.findViewById(R.id.recycler_view_test_item_person_view); rootView.setOnClickListener(this); rootView.setOnLongClickListener(this); } @Override public void onClick(View v) { if (null != onRecyclerViewListener) { onRecyclerViewListener.onItemClick(position); } } @Override public boolean onLongClick(View v) { if(null != onRecyclerViewListener){ return onRecyclerViewListener.onItemLongClick(position); } return false; }}}
0 1
- Android RecycleView的使用
- android recycleview使用
- android RecycleView的使用
- android recycleView使用总结
- Android RecycleView使用详解
- android RecycleView的使用
- Android RecycleView---- RecycleView的简单使用
- Android 使用RecycleView和CardView
- Android 开发之RecycleView的简单使用
- Android RecycleView 使用技巧和心得
- android:RecycleView的简单封装使用
- android开发 使用RecycleView加载数据
- Android中RecycleView的使用详解
- Android 使用RecycleView打造自定义日历
- android recycleView
- Android RecycleView
- Android-RecycleView
- RecycleView使用
- MFC动态调整对话框控件位置和大小
- 排序----冒泡排序的优化_选择排序_插入排序
- C++ Primer复制控制 13.2 赋值操作符
- studio 2.1 App闪退BUG
- 一个获取w3school上面SQL教程的Python爬虫
- android recycleview使用
- 4.3.认识按键抖动并消除抖动
- SQL注入
- opencv代码段1
- c++中的成员访问级别和派生继承方式
- VC++学习笔记
- 整数数据类型表示范围与位运算
- 【BZOJ2251】外星联络 后缀数组
- 好多好多排序