RecyclerView
来源:互联网 发布:税收数据质量管理 编辑:程序博客网 时间:2024/05/19 13:06
package com.qianqian.demozk2;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.DividerItemDecoration;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.ImageLoader;import com.qianqian.demozk2.bean.ShopData;import com.qianqian.demozk2.okhttp.OKHttpUtils;import com.qianqian.demozk2.okhttp.OnUiCallback;import java.io.IOException;import java.util.ArrayList;import java.util.List;import okhttp3.Call;public class ShopActivity extends AppCompatActivity { RecyclerView rv; ShopData shopData; myAdapter adapter; List<ShopData.ResultBean.BrandsBean> mlistAdv=new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shop); //找控件 rv= (RecyclerView) findViewById(R.id.rv); //数据源 initdata(); LinearLayoutManager manager = new LinearLayoutManager(this); rv.setLayoutManager(manager); rv.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL)); adapter=new myAdapter(); rv.setAdapter(adapter); } //数据源 private void initdata() { OKHttpUtils.getInstance().doGet("http://www.babybuy100.com/API/getShopOverview.ashx", new OnUiCallback() { @Override public void onFailed(Call call, IOException e) { } @Override public void onsuccess(String result) throws IOException { //解析 Gson gson=new Gson(); shopData = gson.fromJson(result, ShopData.class); mlistAdv.addAll(shopData.getResult().getBrands()); adapter.notifyDataSetChanged(); } }); } //适配器 class myAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ public static final int TYPE_ONE = 0; public static final int TYPE_TWO = 1; @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { if(viewType == TYPE_ONE){ View view = View.inflate(ShopActivity.this, R.layout.recycler_item, null); ViewHolder holder = new ViewHolder(view); return holder; }else{ View view1 = View.inflate(ShopActivity.this, R.layout.recycler_item1, null); ViewHolder1 holder1 = new ViewHolder1(view1); return holder1; } } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (holder instanceof ViewHolder){ ((ViewHolder) holder).tv1.setText(mlistAdv.get(position).getTitle()); ImageLoader.getInstance().displayImage(mlistAdv.get(position).getPic(),((ViewHolder) holder).iv1); } if (holder instanceof ViewHolder1){ ((ViewHolder1) holder).tv.setText(mlistAdv.get(position).getTitle()); ImageLoader.getInstance().displayImage(mlistAdv.get(position).getPic(),((ViewHolder1) holder).iv); } } @Override public int getItemCount() { return mlistAdv==null ? 0:mlistAdv.size(); } @Override public int getItemViewType(int position) { if(position % 2 == 0){ return TYPE_ONE; }else { return TYPE_TWO; } } public class ViewHolder extends RecyclerView.ViewHolder { TextView tv1; ImageView iv1; public ViewHolder(View itemView) { super(itemView); tv1= (TextView) findViewById(R.id.tv1); iv1= (ImageView) findViewById(R.id.iv1); } } public class ViewHolder1 extends RecyclerView.ViewHolder { TextView tv; ImageView iv; public ViewHolder1(View itemView) { super(itemView); tv = (TextView) itemView.findViewById(R.id.tv); iv = (ImageView) itemView.findViewById(R.id.iv); } } }}
阅读全文
0 0
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- Codeforces Round #440 div2 A. Search for Pretty Integers
- 【数论】[HNOI2006]鬼谷子的钱袋
- angularjs $http请求--图书
- Codeforces Round #440 (Div. 1) B. Something with XOR Query
- angular制作购物车
- RecyclerView
- 购物车综合练习题angular js
- HDU 5943 Kingdom of Obsession(二分图匹配+数论)
- 原购物车只有删除和查询
- Codeforces Round #440 div2 C. Maximum splitting
- 竞赛反思
- cocos2d-js 3.0 RC0 手动绑定 C++调用js,js调用C++ jsbinding
- 表单验证
- 表格渲染(删除查询)