RecyclerView的使用

之前做一個應用商店類的項目,第一次使用RecyclerView,下面說說怎麼使用,這裏只說adapter使用

1,首先是Adapter 的繼承,不再像Listview繼承BaseAdapter,而是繼承 RecycleView.Adapter<>,注意後面的泛型是你的ViewHolder類型.

	public class RecommendAdapter extends RecyclerView.Adapter<MyViewHolder> implements Observer {}


	2,創建ViewHolder:
class MyViewHolder extends RecyclerView.ViewHolder{
    TextView textView;
    ImageView imageView;
    Button button;
    LinearLayout downloadLayout;
    LinearLayout describeLayout;
    TextView sizeView;
    TextView statusView;
    TextView describeView;
    TextView size;
    TextView titleView;
    TextView rateView;
    ProgressBar progressBar;
    LinearLayout reconmmendItem;

    public MyViewHolder(View itemView) {
        super(itemView);
        titleView = (TextView) itemView.findViewById(R.id.app_type_count);
        textView = (TextView) itemView.findViewById(R.id.app_name_tv);
        imageView = (ImageView) itemView.findViewById(R.id.app_icon);
        button = (Button) itemView.findViewById(R.id.app_operation_bt);
        downloadLayout = (LinearLayout) itemView.findViewById(R.id.app_down_ll);
        describeLayout = (LinearLayout) itemView.findViewById(R.id.app_describe_ll);
        sizeView = (TextView) itemView.findViewById(R.id.app_size_tv);
        statusView = (TextView) itemView.findViewById(R.id.app_status_tv);
        describeView = (TextView) itemView.findViewById(R.id.app_describe_tv);
        size = (TextView) itemView.findViewById(R.id.app_down_size_tv);
        rateView = (TextView) itemView.findViewById(R.id.app_down_rate_tv);
        progressBar = (ProgressBar) itemView.findViewById(R.id.app_down_pb);
        reconmmendItem = (LinearLayout) itemView.findViewById(R.id.recommend_item);
    }


     3,實現方法:
	
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = null;
    if(viewType == 0) {
        view = layoutInflater.inflate(R.layout.manage_item_text,parent,false);
    }else {
        view = layoutInflater.inflate(R.layout.recommend_item,parent,false);
    }

    MyViewHolder viewHolder = new MyViewHolder(view);
    return viewHolder;
}

	

4: 綁定數據:

public void onBindViewHolder(final MyViewHolder holder, int position){}

這樣就搞定了,是不是比ListView的簡單一些,最後請記得設置佈局管理器,可以切換是Listview還是gridview.....

mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
mRecyclerView.setLayoutManager(new GridLayoutManager(this,4));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章