zoukankan      html  css  js  c++  java
  • recyclerView的使用

    1.xml布局

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
    </android.support.v7.widget.RecyclerView>

    2。在Activity中使用

    package com.hyang.administrator.studentproject.activity;
    
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.support.v7.widget.LinearLayoutManager;
    import android.support.v7.widget.RecyclerView;
    import android.widget.ArrayAdapter;
    
    import com.hyang.administrator.studentproject.MyAdapter;
    import com.hyang.administrator.studentproject.R;
    
    import org.xutils.x;
    
    import java.util.ArrayList;
    
    /**
     * listView的下拉刷新
     */
    public class PullListViewActivity extends AppCompatActivity {
    
        private ArrayAdapter<String> arrayAdapter;
    
        private RecyclerView mRecyclerView;
    
        private RecyclerView.Adapter mAdapter;
    
        private RecyclerView.LayoutManager mLayoutManager;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_pull_list_view);
            x.view().inject(this);
    
            initData();
            initView();
        }
    private void initData() {
            mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
            mAdapter = new MyAdapter(getData());
        }
    
        private void initView() {
            mRecyclerView = (RecyclerView) findViewById(R.id.recycler);
            // 设置布局管理器
            mRecyclerView.setLayoutManager(mLayoutManager);
            // 设置adapter
            mRecyclerView.setAdapter(mAdapter);
        }
    
        private ArrayList<String> getData() {
            ArrayList<String> data = new ArrayList<>();
            String temp = " item";
            for(int i = 0; i < 20; i++) {
                data.add(i + temp);
            }
    
            return data;
        }
    }

    3.适配器

    package com.hyang.administrator.studentproject;
    
    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;
    
    /**
     * Created by Administrator on 2017/6/27.
     *
     */
    public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
        private ArrayList<String> mData;
    
        public MyAdapter(ArrayList<String> data) {
            this.mData = data;
        }
    
        public void updateData(ArrayList<String> data) {
            this.mData = data;
            notifyDataSetChanged();
        }
    
        @Override
        public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            // 实例化展示的view
            View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.recycler_view_item, parent, false);
            // 实例化viewholder
            ViewHolder viewHolder = new ViewHolder(v);
            return viewHolder;
        }
    
        @Override
        public void onBindViewHolder(ViewHolder holder, int position) {
            // 绑定数据
            holder.mTv.setText(mData.get(position));
        }
    
        @Override
        public int getItemCount() {
            return mData == null ? 0 : mData.size();
        }
    
        public static class ViewHolder extends RecyclerView.ViewHolder {
    
            TextView mTv;
    
            public ViewHolder(View itemView) {
                super(itemView);
                mTv = (TextView) itemView.findViewById(R.id.item_tv);
            }
        }
    }
  • 相关阅读:
    Codeforces Round #535 (Div. 3) 1108C
    Codeforces Round #536 (Div. 2) B. Lunar New Year and Food Ordering
    Leetcode--136. Single Number(easy)
    Leetcode--572. Subtree of Another Tree(easy)
    Leetcode--101. Symmetric Tree(easy)
    Leetcode--680. Valid Palindrome II(easy)
    2017百度之星资格赛 1003 度度熊与邪恶大魔王 背包DP
    台州 OJ 1704 Cheapest Palindrome 回文 区间DP
    洛谷 P1019 单词接龙 深搜
    UVA 11882 Biggest Number 深搜 剪枝
  • 原文地址:https://www.cnblogs.com/yoyohong/p/7083192.html
Copyright © 2011-2022 走看看