本人之前一直使用的ListView,今天項目中運用到了RecyclerView,就學習了RecyclerView的一些簡單使用,下面來介紹一下使用姿勢:
RecyclerView是V7包下的,studio需要在配置文件加入依賴,如下:
compile 'com.android.support:recyclerview-v7:25.1.1'
然後在佈局文件里加入RecyclerView的佈局視圖,
<android.support.v7.widget.RecyclerView android:id="@+id/id_demo_recycleView" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView>使用過ListView的朋友都知道,ListView是使用適配器模式的,而我們的RecyclerView也是一樣的,那麼,我們開始寫我們的適配器吧。
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder> { private LayoutInflater inflater; private ArrayList<String> mDatas; public MyAdapter(ArrayList<String> mDatas){ this.mDatas = mDatas; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { inflater = LayoutInflater.from(parent.getContext()); View view = inflater.inflate(R.layout.item,parent,false); return new MyViewHolder(view); } @Override public int getItemCount() { return mDatas.size(); } @Override public void onBindViewHolder(MyViewHolder holder, int position) { holder.textView.setText(mDatas.get(position)); } class MyViewHolder extends RecyclerView.ViewHolder{ private TextView textView; public MyViewHolder(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.id_demo_text); } } }這個時候適配器已經小幅度的完工了,只需要在我們的Activity裏,使用就ok了。activity的代碼如下。
private ArrayList<String> mDatas; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initDatas(); recycleView = (RecyclerView) findViewById(R.id.id_demo_recycleView); adapter = new MyAdapter(mDatas); recycleView.setAdapter(adapter); recycleView.setLayoutManager(new LinearLayoutManager(this)); }運行起來就能看到我們的RecyclerView啦。
不過到這裏還是沒明白如此複雜,我們那麼多人喜歡RecyclerView呢,讓我們下節揭開謎題 吧。