Android RecyclerView的簡單使用
本文實例為大家分享了Android RecyclerView使用的具體代碼,供大家參考,具體內(nèi)容如下
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();
}
/**
* 初始化數(shù)據(jù)適配器
*/
private void initAdapter() {
recyclerview.setAdapter(new FruitAdapter());
}
/**
* 初始化控件
*/
private void initView() {
recyclerview = (RecyclerView) findViewById(R.id.recyclerview);
// 設(shè)置為LinearLayoutManager布局方式,線性布局
// LinearLayoutManager layoutManager = new LinearLayoutManager(this);
// 兩種方式,水平或垂直排布,默認垂直排布
// layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
// recyclerview.setLayoutManager(layoutManager);
// 設(shè)置為GridLayoutManager布局方式,3列排布
GridLayoutManager gridLayoutManager = new GridLayoutManager(this,3);
recyclerview.setLayoutManager(gridLayoutManager);
}
/**
* 初始化數(shù)據(jù),水果集合
*/
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兩個屬性設(shè)置內(nèi)容
@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的內(nèi)部類,可以直接使用外部類的成員變量
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;
}
}
效果圖:


以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
- Android ExpandableRecyclerView使用方法詳解
- Android使用Recyclerview實現(xiàn)圖片水平自動循環(huán)滾動效果
- Android RecyclerView使用方法詳解
- Android使用RecyclerView實現(xiàn)今日頭條頻道管理功能
- Android使用RecyclerView實現(xiàn)列表數(shù)據(jù)選擇操作
- Android使用分類型RecyclerView仿各大商城首頁
- android使用ItemDecoration給RecyclerView 添加水印
- Android如何使用RecyclerView打造首頁輪播圖
- Android RecyclerView基本使用詳解
- RecyclerView的簡單使用
相關(guān)文章
Flutter?+?Idea?環(huán)境搭建及配置教程
本文主要總結(jié)我實際搭建的過程,最后發(fā)現(xiàn)不一定按網(wǎng)上那些博客或者官方文檔寫的來也可以搭建成功,在這里小編給大家分享下Flutter?+?Idea?環(huán)境搭建及配置教程,感興趣的朋友參考下吧2021-12-12
通知監(jiān)控NotificationListenerService onNotificationPosted重復(fù)回
這篇文章主要為大家介紹了通知監(jiān)控NotificationListenerService onNotificationPosted重復(fù)回調(diào)問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02
Android中實現(xiàn)詞組高亮TextView方法示例
高亮顯示大家應(yīng)該都不陌生,在開發(fā)中經(jīng)常會遇到這個需求,所以下面這篇文章主要給大家介紹了關(guān)于Android中實現(xiàn)詞組高亮TextView的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-10-10
Android 8.0不能自動安裝APK問題的解決方法(完美適配)
這篇文章主要給大家介紹了關(guān)于Android 8.0不能自動安裝APK問題的解決方法(完美適配),這里的自動安裝是指下載完成后,自動彈出安裝界面,而不是靜默安裝APK,文中介紹的非常詳細,需要的朋友可以參考下2018-07-07
Android開發(fā)之Animations動畫用法實例詳解
這篇文章主要介紹了Android開發(fā)之Animations動畫用法,結(jié)合實例形式詳細分析了Animations動畫的類型、組成、模式及對應(yīng)的使用技巧,需要的朋友可以參考下2016-02-02
Android實現(xiàn)Gesture手勢識別用法分析
這篇文章主要介紹了Android實現(xiàn)Gesture手勢識別用法,結(jié)合實例形式較為詳細的分析了Android基于Gesture實現(xiàn)手勢識別的原理與具體實現(xiàn)技巧,需要的朋友可以參考下2016-09-09
Android中Java instanceof關(guān)鍵字全面解析
instanceof關(guān)鍵字用于判斷一個引用類型變量所指向的對象是否是一個類(或接口、抽象類、父類)的實例.這篇文章主要介紹了Android中Java instanceof關(guān)鍵字全面解析的相關(guān)資料,需要的朋友可以參考下2016-07-07

