zoukankan      html  css  js  c++  java
  • RecyclerView基本用法

    1. 在gradle.build的dependencies中添加RecyclerView需要的包

    compile 'com.android.support:cardview-v7:23.4.0'
    compile 'com.android.support:recyclerview-v7:23.4.0'

    添加完后记得要Sync Gradle

    2. 在布局文件中添加控件RecyclerView. 

    <android.support.v7.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    </android.support.v7.widget.RecyclerView>

    3.在Activity中找到RecyclerView并设置LayoutManager和Adapter

    RecyclerView rv;
    NewsAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    rv = (RecyclerView) findViewById(R.id.rv);
    rv.setLayoutManager(new LinearLayoutManager(this));
    rv.setAdapter(adapter);

    }

    4. 写Adapter

    class NewsAdapter extends RecyclerView.Adapter<NewsAdapter.VH> {
    String[] data = {"a","b","c","d","e"};

      //创建ViewHoler
    @Override
    public VH onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.news_item,parent,false);
    VH vh = new VH(view);
    return vh;
    }

      //数据绑定
    @Override
    public void onBindViewHolder(VH holder, int position) {
    holder.title.setText(data[position]);

    }

    @Override
    public int getItemCount() {
    return data.length;
    }

      //内部类VH 保存所有view
    class VH extends RecyclerView.ViewHolder {
    public TextView title;
    public VH(View itemView) {
    super(itemView);
    title = (TextView)itemView.findViewById(R.id.title);
    }
    }


    }
    
    





     
  • 相关阅读:
    tcp没用吗?为什么MOBA、“吃鸡”游戏不推荐用tcp协议
    这样做动画交互,一点都不费力!
    sql server 小记——分区表(上)
    vs中不得不会的一些小技巧(1)——细说查找
    Aforge.net之旅——开篇:从识别验证码开始
    Redis Hash操作
    Varint 数值压缩
    LevelDB Version
    LevelDB Cache机制
    LevelDB Compaction操作
  • 原文地址:https://www.cnblogs.com/yidan621/p/5658938.html
Copyright © 2011-2022 走看看