Android--RecyclerView学习
来源:互联网 发布:多头螺纹怎样用g92编程 编辑:程序博客网 时间:2024/06/06 00:38
RecyclerView是ListView的最好替代。
首先要在Module设置中添加RecyclerView 的支持包
注意事项
版本一定要一致!
重构的技巧–Refactor
一个内部类,在类的作用域内点击右键,选择“Refactor”选择“Move”就会自动生成一个其他的类。一个内部类可以重构成一个Java文件类。
MainActivity.java
package com.example.wo.learnrecyclerview;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;public class MainActivity extends AppCompatActivity { private RecyclerView rv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); rv = new RecyclerView(this); setContentView(rv);//注意这里设置的参数是一个Recyclerview的布局文件,而不是通常情况下的XML文件 rv.setLayoutManager(new LinearLayoutManager(this));//布局设置为线性布局 rv.setAdapter(new MyAdapter());//设置适配器 }}
CellData.java
package com.example.wo.learnrecyclerview;public class CellData { public CellData(String title,String content){ this.title = title; this.content = content; } public String title = "title"; public String content = "content";}
MyAdapter.java
package com.example.wo.learnrecyclerview;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.TextView;class MyAdapter extends RecyclerView.Adapter { class VHolder extends RecyclerView.ViewHolder { private View root; private TextView tvTitle,tvContent; public VHolder(View root) { super(root); tvTitle = (TextView) root.findViewById(R.id.tvTitle); tvContent = (TextView) root.findViewById(R.id.tvContent); } public TextView getTvContent() { return tvContent; } public TextView getTvTitle() { return tvTitle; } } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new VHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.list_cell,null)); } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { VHolder vh = (VHolder) holder; CellData cd = data[position]; vh.getTvTitle().setText(cd.title); vh.getTvContent().setText(cd.content); } @Override public int getItemCount() { return data.length; } private CellData[] data = new CellData[]{ new CellData("似水流年","通信工程"), new CellData("此间少年","通信工程")};}
list_cell.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="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="Large Text" android:id="@+id/tvTitle" android:layout_gravity="center_horizontal" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="New Text" android:id="@+id/tvContent" android:layout_gravity="center_horizontal" /></LinearLayout>
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的使用
- HDU 2795 Billboard(线段树)
- 一天一条Linux指令-tsort
- 设计原则之最少知识原则 javascript
- 感知器与线性单元
- UVA713 高精度(1)+相加+去前导0/后缀0
- Android--RecyclerView学习
- Ajax模拟百度搜索框的自动补全功能
- 常用设计模式
- Camera2.0 控制摄像头拍照
- MySql错误处理
- oracle笔记
- 利用Cmake 将最新版本OBS编译成windows版本。
- 带你重新认识Activity的方方面面
- DAY22:leetcode #36 Valid Sudoku