Component-RecyclerView

2018-05-18  本文已影响0人  阳光丶不错

关键点:

使用步骤:

添加支持库

dependencies {
    implementation 'com.android.support:recyclerview-v7:27.1.1'
}

在Layout中添加RecyclerView:

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

添加代码:

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {
    private String[] mDataset;

    public MyAdapter(String[] myDataset) {
        mDataset = myDataset;
    }
    //先继承RecyclerView.ViewHolder构造ViewHolder内部类
    //再使用泛型RecyclerView.Adapter<VH extends ViewHolder>
    @Override
    public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
                                                   int viewType) {
        TextView tv = (TextView) LayoutInflater.from(parent.getContext())
                .inflate(R.layout.my_text_view, parent, false);
        ViewHolder vh = new ViewHolder(tv);
        return vh;
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.mTextView.setText(mDataset[position]);
    }

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

    public static class ViewHolder extends RecyclerView.ViewHolder {
        public TextView mTextView;
        public ViewHolder(TextView v) {
            super(v);
            mTextView = v;
        }
    }
}
RecyclerView  mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(this);
RecyclerView.Adapter mAdapter = new RecyclerViewAdapter(mDataSet);

mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setAdapter(mAdapter);

有关方法:

//如果RecyclerView的内容改变但是Size不变的话使用该方法可以提高性能。
setHasFixedSize()
上一篇下一篇

猜你喜欢

热点阅读