RecyclerView(多条目)
来源:互联网 发布:淘宝页面怎么设计 编辑:程序博客网 时间:2024/05/22 00:52
package com.example.recyclerview;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;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;import java.util.List;public class MainActivity extends AppCompatActivity { private List<String> list; private RecyclerView rv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rv = (RecyclerView) findViewById(R.id.rv); initRV(); } private void initRV() { initList(); //得到适配器 MyRreyclerView1 rreyclerView1 = new MyRreyclerView1(); //绑定 rv.setAdapter(rreyclerView1); //布局效果 GridLayoutManager manager = new GridLayoutManager(this,3); //绑定布局 rv.setLayoutManager(manager); } private void initList() { list = new ArrayList<>(); for (int i = 0; i < 100; i++) { list.add("破亚美"+i); } } class MyRreyclerView1 extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ public static final int TYPE_ONE = 1; public static final int TYPE_TOW = 2; @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //判断展示不同的布局 if (viewType == TYPE_ONE){ View view = View.inflate(MainActivity.this,R.layout.rv1,null); MyViewHolder1 holder1 = new MyViewHolder1(view); return holder1; }else{ View view1 = View.inflate(MainActivity.this,R.layout.tv2,null); MyViewHolder2 holder2 = new MyViewHolder2(view1); return holder2; } } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { //输入值 if (holder instanceof MyViewHolder1){ ((MyViewHolder1) holder).tv.setText(""); } if (holder instanceof MyViewHolder2){ ((MyViewHolder2) holder).im.setText(list.get(position)); } } @Override public int getItemCount() { return list == null ? 0 :list.size(); } //判断多条目方法 @Override public int getItemViewType(int position) { if (position % 2 ==0 ){ return TYPE_ONE; }else { return TYPE_TOW; } } } //Holder1 class MyViewHolder1 extends RecyclerView.ViewHolder{ private final TextView tv; public MyViewHolder1(View itemView) { super(itemView); tv = (TextView) itemView.findViewById(R.id.tv); } } //Holder2 class MyViewHolder2 extends RecyclerView.ViewHolder{ private final TextView im; public MyViewHolder2(View itemView) { super(itemView); im = (TextView) itemView.findViewById(R.id.tv2); } }}
阅读全文
0 0
- RecyclerView多条目
- RecyclerView多条目展示
- RecyclerView多条目加载
- RecyclerView多条目加载
- RecyclerView多条目
- RecyclerView简单多条目
- RecyclerView(多条目)
- RecyclerView 多条目加载
- RecyclerView多条目加载
- RecyclerView多条目展示
- Recyclerview多条目+tablayout
- RecyclerView多条目模版
- recyclerview多条目加载
- recyclerView 多条目视图
- RecyclerView多条目
- recyclerview实现多条目
- RecyclerView多条目
- recyclerView多条目布局
- [字典树上建回文自动机] ICPC Preparatory Series by Team Akatsuki. Three Palindromes
- JAVA 死锁,死锁产生的原因,产生死锁的必要条件和解决死锁的方法
- 轮播图-------------PagerAdapter适配器
- [MIPS汇编语言]输入输出演示(数组)
- recyclerview瀑布流_图片二次采样
- RecyclerView(多条目)
- Objective-C对象之类对象和元类对象
- AngularJS1.5 以上版本
- 自定义控件_画圆
- 算法:输出华氏和摄氏的温度对照表
- 头部为横向滑动,下面Fragment和ViewPager
- 个人怎么申请微信公众号-微信公众号使用教程33
- Android侧滑菜单DrawerLayout
- huffman编码