Android读书笔记之用RecyclerView显示列表项
来源:互联网 发布:火箭队 知乎 编辑:程序博客网 时间:2024/06/06 00:57
该读书笔记是自己阅读《Android编程权威指南》和《The.Big.Nerd.Ranch.Guide.2nd.Edition》(《Android编程权威指南》第二版)所做的一些笔记。
在上一篇文章(见:http://blog.csdn.net/u014285517/article/details/50331971)中只是在Fragment中放了一个TextView,略显单薄。。。
这篇文章在Fragment中放个 RecyclerView来显示一个0-99的列表数据。
首先来看核心的ListFragment的代码:
package com.example.zhan.fragmenttest;import android.app.Fragment;import android.os.Bundle;import android.support.v7.widget.LinearLayoutManager;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.ArrayList;import java.util.List;/** * Created by zhang on 12/16/2015. */public class ListFragment extends Fragment { private RecyclerView mRecyclerView; private ItemAdapter mItemAdapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_list,container,false); mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));//不要忘了。。 //产生列表数据 List<Item> itemList = new ArrayList<>(); for (int i = 0;i < 100;i++) { Item item = new Item(); item.setId(i); itemList.add(item); } mItemAdapter = new ItemAdapter(itemList); mRecyclerView.setAdapter(mItemAdapter); return view; } private class ItemHolder extends RecyclerView.ViewHolder { private TextView mTextView; public ItemHolder(View itemView) { super(itemView); mTextView = (TextView) itemView; } } private class ItemAdapter extends RecyclerView.Adapter<ItemHolder> { private List<Item> mItems; public ItemAdapter(List<Item> items) { mItems = items; } @Override public ItemHolder onCreateViewHolder(ViewGroup viewGroup, int i) { LayoutInflater layoutInflater = LayoutInflater.from(getActivity()); View view = layoutInflater.inflate(android.R.layout.simple_list_item_1, viewGroup,false); return new ItemHolder(view); } @Override public void onBindViewHolder(ItemHolder viewHolder, int i) { Item item = mItems.get(i); //这里开始直接传数值,结果被当做资源ID了。。。。。 //然后就android.content.res.Resources$NotFoundException viewHolder.mTextView.setText(String.valueOf(item.getId())); } @Override public int getItemCount() { return mItems.size(); } }}
关于RecyclerView这里不多讲了。。
布局文件fragment_list.xml如下:
<android.support.v7.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/recycler_view" android:layout_height="match_parent" android:layout_width="match_parent"/>
Activity部分代码几乎没变,就是把fragment =new BlankFragment(); 改成了fragment = new ListFragment();这里代码就不贴了,可以看Android Fragment学习一那篇博客。
还有个表示列表项的类:
package com.example.zhan.fragmenttest;/** * Created by zhang on 12/16/2015. */public class Item { private int id; public int getId() { return id; } public void setId(int id) { this.id = id; }}
这个列表项很简单,不过你可以在此基础上进行补充。
0 0
- Android读书笔记之用RecyclerView显示列表项
- Android读书笔记之自定义RecyclerView列表项
- Android | 使用RecyclerView显示列表
- Android编程权威指南之使用RecyclerView显示列表
- RecyclerView显示 列表
- Android RecyclerView之ListView显示(二)
- Android RecyclerView之GridView显示(三)
- Android RecyclerView之瀑布流显示(四)
- 通过recyclerView实现列表显示
- RecyclerView 列表无法显示或者显示不正常
- 购物车之Recyclerview列表
- Android列表RecyclerView的用法
- Android RecyclerView 二级列表实现
- Android客户端之“微服私访”App的系统学习(六)RecyclerView 展现复杂数据列表以及水波纹效果+CardView显示头像
- Android Recyclerview嵌套 列表里面套列表
- android之popupwindow显示文件列表
- android学习之自定义列表显示
- Android学习之ListView显示下拉列表
- 包含UIWebView的页面pop操作,同时切换tabbar遇到的问题和解决办法
- Python Excel操作之一
- 116Populating Next Right Pointers in Each Node
- 用js动态返回各类文本框的值
- 基础练习 字母图形
- Android读书笔记之用RecyclerView显示列表项
- [转]Boost 序列化
- eclipse hibernate tool 报错 - Fetching children of Database
- 修改Ubuntu默认运行级别,启动字符界面
- 切断应用相互启动
- java集合——视图与包装器
- poj3436
- vim 解决乱码问题 centos 7
- Activity生命周期之重新创建Activity(recreating activity)