Android RecyclerView的使用
来源:互联网 发布:js文字切换效果代码 编辑:程序博客网 时间:2024/05/16 11:00
package com.itheima74.recyclerview;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.GridLayoutManager;import android.support.v7.widget.RecyclerView;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;import java.util.ArrayList;/** * RecyclerView * 1.增强版的listview * 2.官方推荐 * 3.使用步骤: * a.build.gradle文件中添加依赖compile 'com.android.support:recyclerview-v7:25.2.0' * b.xml布局中引入,注意完整包名+类名 * c.具体见代码 */public class MainActivity extends AppCompatActivity { ArrayList<Fruit> mFruitList; private RecyclerView recyclerview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); initAdapter(); } /** * 初始化数据适配器 */ private void initAdapter() { recyclerview.setAdapter(new FruitAdapter()); } /** * 初始化控件 */ private void initView() { recyclerview = (RecyclerView) findViewById(R.id.recyclerview); // 设置为LinearLayoutManager布局方式,线性布局 // LinearLayoutManager layoutManager = new LinearLayoutManager(this); // 两种方式,水平或垂直排布,默认垂直排布 // layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); // recyclerview.setLayoutManager(layoutManager); // 设置为GridLayoutManager布局方式,3列排布 GridLayoutManager gridLayoutManager = new GridLayoutManager(this,3); recyclerview.setLayoutManager(gridLayoutManager); } /** * 初始化数据,水果集合 */ private void initData() { mFruitList = new ArrayList<>(); mFruitList.add(new Fruit("apple", R.drawable.apple_pic)); mFruitList.add(new Fruit("banana", R.drawable.banana_pic)); mFruitList.add(new Fruit("cherry", R.drawable.cherry_pic)); mFruitList.add(new Fruit("grape", R.drawable.grape_pic)); mFruitList.add(new Fruit("mango", R.drawable.mango_pic)); mFruitList.add(new Fruit("orange", R.drawable.orange_pic)); mFruitList.add(new Fruit("pear", R.drawable.pear_pic)); mFruitList.add(new Fruit("pineapple", R.drawable.pineapple_pic)); mFruitList.add(new Fruit("strawberry", R.drawable.strawberry_pic)); mFruitList.add(new Fruit("watermelon", R.drawable.watermelon_pic)); } class FruitAdapter extends RecyclerView.Adapter<ViewHolder> { // 返回ViewHolder对象 @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new ViewHolder(View.inflate(getApplicationContext(), R.layout.listview_item, null)); } // 刷新界面,为ViewHolder两个属性设置内容 @Override public void onBindViewHolder(ViewHolder holder, int position) { Fruit fruit = mFruitList.get(position); holder.iv.setImageResource(fruit.imageId); holder.tv.setText(fruit.name); } @Override public int getItemCount() { // FruitAdapter是MainActivity的内部类,可以直接使用外部类的成员变量 return mFruitList.size(); } } static class ViewHolder extends RecyclerView.ViewHolder { ImageView iv; TextView tv; ViewHolder(View itemView) { super(itemView); iv = (ImageView) itemView.findViewById(R.id.iv); tv = (TextView) itemView.findViewById(R.id.tv); } }}
package com.itheima74.recyclerview;/** * Created by My on 2017/3/2. */class Fruit { String name; int imageId; Fruit(String name, int imageId) { this.name = name; this.imageId = imageId; }}
0 0
- Android -- RecyclerView的使用
- Android RecyclerView的使用
- Android RecyclerView的使用
- Android RecyclerView的使用
- Android RecyclerView的使用
- android RecyclerView的使用
- Android RecyclerView的使用
- Android RecyclerView的使用
- Android RecyclerView的使用
- Android RecyclerView的使用
- Android RecyclerView的使用
- 【android】RecyclerView的使用
- Android RecyclerView的使用
- Android的RecyclerView的使用
- Android RecyclerView 的简单使用
- Android RecyclerView的基本使用
- Android RecyclerView的使用学习
- android关于RecyclerView的使用
- android 内存优化
- C语言之文件读操作
- 设计模式-访问者模式
- 图的概念
- 释疑の生产订单作业价格重估-CON2
- Android RecyclerView的使用
- (PHP面试)数猴子(原型:约瑟夫环)
- M-Openstack入门指导
- canvas应用之各种游戏转盘
- pip报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xb1 in position 7: ordinal not in range(12
- web的数据传递(jsp,servlet和数据库)
- 西安落户政策2017.3.1
- C#通用类库--农历类(很全面)
- hello world