Android开发-RecyclerView-AndroidStudio(一)初体验对比ListView
来源:互联网 发布:高中信息技术编程解答 编辑:程序博客网 时间:2024/06/05 14:20
RecyclerView可以简单的理解为ListView的替代品
我们用2张GIF初体验一下他们之间区别:
MainActivity.java:
package com.iwanghang.recyclerviewdemo;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.RecyclerView;import java.util.ArrayList;import java.util.List;import java.util.Locale;/** * RecyclerView 可以简单的理解为ListView */public class MainActivity extends AppCompatActivity { RecyclerView recycler; MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recycler = (RecyclerView) findViewById(R.id.recycler); List<String> list = new ArrayList<>(); for (int i = 0; i <100 ; i++) { list.add(String.format(Locale.CHINA,"第%03d条数据",i)); } adapter = new MyAdapter(this,list); recycler.setAdapter(adapter); }}MyAdapter.java:
package com.iwanghang.recyclerviewdemo;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;import java.util.List;/** * ViewHolder 减少不必要的调用findViewById,不必要每次都重新加载控件布局 */public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{ private Context context; private List<String> list; public MyAdapter(Context context, List<String> list) { this.context = context; this.list = list; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item,parent,false); return new MyViewHolder(view); } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.item_text.setText(list.get(position)); } @Override public int getItemCount() { return list.size(); } public static class MyViewHolder extends RecyclerView.ViewHolder{ private TextView item_text; public MyViewHolder(View itemView) { super(itemView); item_text = (TextView) itemView.findViewById(R.id.item_text); } } public Context getContext() { return context; } public void setContext(Context context) { this.context = context; } public List<String> getList() { return list; } public void setList(List<String> list) { this.list = list; }}activity_main.xml:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.iwanghang.recyclerviewdemo.MainActivity"> <android.support.v7.widget.RecyclerView android:id="@+id/recycler" app:layoutManager="LinearLayoutManager" android:layout_width="match_parent" android:layout_height="match_parent"/></RelativeLayout>item.xml:
<?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"> <TextView android:id="@+id/item_text" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout>
最后,不要忘记在工程开始时,导包~
1 0
- Android开发-RecyclerView-AndroidStudio(一)初体验对比ListView
- Android开发之RecyclerView与ListView对比详解
- RecyclerView初体验(一)
- Android RecyclerView初体验
- Android RecyclerView和ListView使用对比分析
- Android RecyclerView 和 ListView 使用对比分析
- Android 开发之RecyclerView 实现ListView (一)
- Android开发-ListView(1)-AndroidStudio
- Android开发-自定义View-AndroidStudio(五)ViewPager初体验
- Android开发-自定义View-AndroidStudio(八)自定义View初体验
- Android开发技术研究--RecyclerView使用完全解析(一)(用RecyclerView代替ListView)
- RecyclerView与ListView对比浅析(一):初始化篇
- Android开发-Retrofit-AndroidStudio(三)ListView&Picasso
- Android使用RecyclerView替代ListView(一)
- [Android]使用RecyclerView替代ListView(一)
- [Android]使用RecyclerView替代ListView(一)
- [Android]使用RecyclerView替代ListView(一)
- [Android]使用RecyclerView替代ListView(一)
- week1_day1_1107
- BZOJ 1120: [POI2009]STR
- 在Eclipse中显示.project和.classpath和.setting目录
- Robot Framework环境搭建
- 一种简单粗暴的数据层网络缓存(一)
- Android开发-RecyclerView-AndroidStudio(一)初体验对比ListView
- angularjs-表单与验证-表单的嵌套及其声明
- 搞懂树状数组
- linux编程—who命令编写
- 深度卷积神经网络的14种设计模式
- Svn右键不出现svn checkout 图标
- spring连接access数据库
- 大型分布式网站架构技术总结
- Beetl学习总结(4)——Web集成