入门Android实例--训练--RecycleView

听说RecycleView比ListView更配哦。

在使用的时候要先导入recyclerview

入门Android实例--训练--RecycleView_第1张图片

用它替代listview的原因有几个:(我也不知道。。)


先来用一下

public class MainActivity extends AppCompatActivity {

    private String[] data=new String[]{"hello","itnew","baibai","itnew","baibai","itnew","baibai","itnew",
            "baibai","itnew","baibai","itnew","baibai","itnew","baibai","itnew","baibai","itnew","baibai",
            "itnew","baibai","itnew","baibai","itnew","baibai","itnew","baibai","itnew","baibai","itnew","baibai"};

    private RecyclerView mRecyclerView;
    private RecyclerView.LayoutManager mLayoutManager;
    private RecyclerView.Adapter mAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //开始设置RecyclerView
        mRecyclerView=(RecyclerView)this.findViewById(R.id.RecyclerView);
        //设置固定大小
        // mRecyclerView.setHasFixedSize(true);
        //创建线性布局
        mLayoutManager = new LinearLayoutManager(this);
        //垂直方向
        //mLayoutManager.setOrientation(OrientationHelper.VERTICAL);
        //给RecyclerView设置布局管理器
        mRecyclerView.setLayoutManager(mLayoutManager);
        //创建适配器,并且设置
        mAdapter = new MyAdapter(this,data);
        mRecyclerView.setAdapter(mAdapter);
    }

}

public class MyAdapter extends RecyclerView.Adapter {


    private LayoutInflater mInflater;
    //设定Item
    private String[] mTitles;

    public MyAdapter(Context context,String[] mTitles){
        this.mInflater=LayoutInflater.from(context);
        this.mTitles=mTitles;
        }
    //自定义的ViewHolder,持有每个Item的的所有界面元素
    public static class mViewHolder extends RecyclerView.ViewHolder {
        public TextView item_tv;
        public mViewHolder(View view){
            super(view);
            item_tv = (TextView)view.findViewById(R.id.Recycler_Item);
        }
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view=mInflater.inflate(R.layout.recyclelist_item,parent,false);
        return new mViewHolder(view);
    }

    //绑定方法,position对应数据索引,与项目数相关
    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        mViewHolder mVH = (mViewHolder) holder;
        mVH.item_tv.setText(mTitles[position]);
    }

    //设置RecyclerView的项目数
    @Override
    public int getItemCount() {
        return mTitles.length;
    }
}
Item布局只放入了一个TextView,加了个button,效果就和ListView差不多。上下拉动的感觉。
入门Android实例--训练--RecycleView_第2张图片


你可能感兴趣的:(入门Android实例--训练--RecycleView)