compile 'com.squareup.okhttp3:okhttp:3.9.0' compile 'com.android.support:recyclerview-v7:25.3.1' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'com.google.code.gson:gson:2.8.2' compile project(':swiperefreshlayoutlibrary')public class MainActivity extends AppCompatActivity { private MyRecyclerViewAdapter re; private RecyclerView recylerview; List<Bean.GoodsListBean> list; private SwipyRefreshLayout refrsh; private int page = 1; private Handler handler=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); handler=new Handler(); refrsh = (SwipyRefreshLayout) findViewById(R.id.refrsh); recylerview = (RecyclerView) findViewById(R.id.recyclerview); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this); recylerview.setLayoutManager(linearLayoutManager); initData(); refrsh.setDirection(SwipyRefreshLayoutDirection.BOTH); refrsh.setOnRefreshListener(new SwipyRefreshLayout.OnRefreshListener() { @Override public void onRefresh(int index) { handler.postDelayed(new Runnable() { @Override public void run() { page++; initData(); refrsh.setRefreshing(false); Toast.makeText(MainActivity.this, "刷新成功", Toast.LENGTH_SHORT).show(); re.notifyDataSetChanged(); } },2000); } @Override public void onLoad(int index) { handler.postDelayed(new Runnable() { @Override public void run() { page++; initData(); refrsh.setRefreshing(false); Toast.makeText(MainActivity.this, "加载成功", Toast.LENGTH_SHORT).show(); re.notifyDataSetChanged(); } },2000); } }); } private void initData() { OkHttpClient okHttpClient = MyApplivation.okHttpClient(); Request request = new Request.Builder().url("http://apiv3.yangkeduo.com/v5/newlist?page=%22+page+%22&size=20").build(); okHttpClient.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String json = response.body().string(); if (response.isSuccessful()) { Gson gson = new Gson(); Bean bean=gson.fromJson(json,Bean.class); list=bean.getGoods_list(); runOnUiThread(new Runnable() { @Override public void run() { re = new MyRecyclerViewAdapter(MainActivity.this,list); recylerview.setAdapter(re); } }); } } }); } }public class MyApplivation extends Application{ private static OkHttpClient okHttpClient; @Override public void onCreate() { super.onCreate(); okHttpClient = new OkHttpClient(); okHttpClient = okHttpClient.newBuilder() .connectTimeout(5, TimeUnit.SECONDS) .readTimeout(5, TimeUnit.SECONDS) .build(); } public static OkHttpClient okHttpClient() { return okHttpClient; } }public class MyRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ private Context context; private List<Bean.GoodsListBean>list; public MyRecyclerViewAdapter(Context context,List<Bean.GoodsListBean>list){ this.context=context; this.list=list; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=null; RecyclerView.ViewHolder holder=null; switch (viewType){ case 0: view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false); holder=new ViewHolder(view); break; case 1: view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_2, parent, false); holder=new ViewHolder2(view); break; } return holder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { switch (getItemViewType(position)){ case 0: ViewHolder holder1= (ViewHolder) holder; holder1.txt1.setText(list.get(position).getGoods_name()); Glide.with(context).load(list.get(position).getThumb_url()).into(holder1.img1); break; case 1: ViewHolder2 holder2= (ViewHolder2) holder; holder2.txt2.setText(list.get(position).getGoods_name()); Glide.with(context).load(list.get(position).getThumb_url()).into(holder2.img2); break; } } @Override public int getItemViewType(int position) { if (position%3==0){ return 0; }else { return 1; } } @Override public int getItemCount() { return list.size(); } public class ViewHolder extends RecyclerView.ViewHolder{ private final ImageView img1; private final TextView txt1; public ViewHolder(View itemView) { super(itemView); img1 = (ImageView) itemView.findViewById(R.id.image1); txt1 = (TextView) itemView.findViewById(R.id.text1); } } public class ViewHolder2 extends RecyclerView.ViewHolder{ private final ImageView img2; private final TextView txt2; public ViewHolder2(View itemView) { super(itemView); img2 = (ImageView) itemView.findViewById(R.id.image2); txt2 = (TextView) itemView.findViewById(R.id.text2); } } }<com.bawei.swiperefreshlayoutlibrary.SwipyRefreshLayout android:id="@+id/refrsh" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v7.widget.RecyclerView> </com.bawei.swiperefreshlayoutlibrary.SwipyRefreshLayout><ImageView android:id="@+id/image1" android:layout_width="match_parent" android:layout_height="150dp" android:layout_marginTop="10dp" android:scaleType="fitXY" android:src="@mipmap/ic_launcher"/> <TextView android:id="@+id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="asdfasfasdfdsafdsafadsdfas" android:textSize="20sp" /><ImageView android:id="@+id/image2" android:layout_width="100dp" android:layout_height="120dp" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" /> <TextView android:id="@+id/text2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_weight="1" android:text="asdfasfasdfdsafdsafadsdfas" android:textSize="20sp"/>
。。。。。
最新推荐文章于 2025-08-09 07:00:00 发布
20万+

被折叠的 条评论
为什么被折叠?



