<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/ll_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp" android:layout_margin="10dp" android:orientation="vertical"> <TextView android:id="@+id/tv_desc" android:layout_width="match_parent" android:layout_height="wrap_content"/> <LinearLayout android:padding="2dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <ImageView android:scaleType="fitXY" android:id="@+id/iv_1" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:src="@mipmap/ic_launcher" /> <ImageView android:id="@+id/iv_2" android:layout_width="0dp" android:scaleType="fitXY" android:layout_height="match_parent" android:layout_weight="1" android:src="@mipmap/ic_launcher" /> <ImageView android:id="@+id/iv_3" android:layout_width="0dp" android:scaleType="fitXY" android:layout_height="match_parent" android:layout_weight="1" android:src="@mipmap/ic_launcher" /> </LinearLayout> </LinearLayout>
package drawerlayouts.com.xliscom.administrator.fengranzhoukao.adapters; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.ArrayList; import java.util.List; import drawerlayouts.com.xliscom.administrator.fengranzhoukao.R; import drawerlayouts.com.xliscom.administrator.fengranzhoukao.bean.Newsin; /** * Created by Administrator on 2017/3/11. */ public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private List<Newsin.ResultBean.DataBean> list = new ArrayList<>(); private Context context; private final int Type_1 = 1; private final int Type_2 = 2; public MyAdapter(List<Newsin.ResultBean.DataBean> list, Context context) { this.list = list; this.context = context; } @Override public int getItemViewType(int position) { if (list.get(position).getThumbnail_pic_s02() != null) { return Type_2; } else { return Type_1; } } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { //初始化viewholer if (viewType == Type_1) { View view = LayoutInflater.from(context).inflate(R.layout.item_recyclerview, parent, false); return new MyHolder(view); } else if (viewType == Type_2) { View view = LayoutInflater.from(context).inflate(R.layout.item_mutyimg, parent, false); return new MutyImgHolder(view); } return null; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { if(holder instanceof MyHolder){ ((MyHolder) holder).setData(position); }else { ((MutyImgHolder) holder).setData(position); } } @Override public int getItemCount() { return list.size(); } class MyHolder extends RecyclerView.ViewHolder { ImageView img; TextView newsDesc, newsTitle; LinearLayout itemLayout; public MyHolder(View itemView) { super(itemView); img = (ImageView) itemView.findViewById(R.id.item_news_img); newsDesc = (TextView) itemView.findViewById(R.id.item_news_author); newsTitle = (TextView) itemView.findViewById(R.id.item_news_title); itemLayout = (LinearLayout) itemView.findViewById(R.id.item_layout); } public void setData(final int position) { newsTitle.setText(list.get(position).getTitle()); newsDesc.setText(list.get(position).getAuthor_name()); String uri = list.get(position).getThumbnail_pic_s(); showImgByImageLoader(uri, img); //showImgBuGlide(uri); itemLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //回调给Fragment listener.onItemClickListener(position); } }); } } public class MutyImgHolder extends RecyclerView.ViewHolder { TextView tvDesc; ImageView iv1, iv2, iv3; LinearLayout lllayout; public MutyImgHolder(View itemView) { super(itemView); tvDesc = (TextView) itemView.findViewById(R.id.tv_desc); iv1 = (ImageView) itemView.findViewById(R.id.iv_1); iv2 = (ImageView) itemView.findViewById(R.id.iv_2); iv3 = (ImageView) itemView.findViewById(R.id.iv_3); lllayout = (LinearLayout) itemView.findViewById(R.id.ll_layout); } private void setData(final int position) { tvDesc.setText(list.get(position).getTitle()); String uri1 = list.get(position).getThumbnail_pic_s(); String uri2 = list.get(position).getThumbnail_pic_s02(); String uri3 = list.get(position).getThumbnail_pic_s03(); showImgByImageLoader(uri1,iv1); showImgByImageLoader(uri2,iv2); showImgByImageLoader(uri3,iv3); lllayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { listener.onItemClickListener(position); } }); } } public ItemClickListener listener; /** * 接口回调 实现点击事件 */ public interface ItemClickListener { void onItemClickListener(int position); } public void setOnItemClickListener(ItemClickListener listener) { this.listener = listener; } private void showImgByImageLoader(String uri, ImageView imageView) { ImageLoader imageLoader = ImageLoader.getInstance(); imageLoader.displayImage(uri, imageView); } } adapter//适配器里面的配置 package drawerlayouts.com.xliscom.administrator.fengranzhoukao.activitys; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import com.google.gson.Gson; import com.zhy.http.okhttp.OkHttpUtils; import com.zhy.http.okhttp.callback.StringCallback; import java.util.ArrayList; import java.util.List; import drawerlayouts.com.xliscom.administrator.fengranzhoukao.R; import drawerlayouts.com.xliscom.administrator.fengranzhoukao.adapters.MyAdapter; import drawerlayouts.com.xliscom.administrator.fengranzhoukao.bean.Newsin; import okhttp3.Call; /** * Created by Administrator on 2017/3/11. */ public class Fragmenttoutiso extends Fragment{ private ListView lv; private List<Newsin.ResultBean.DataBean> list=new ArrayList<>(); private String str="http://mock.eolinker.com/success/C9kimTQ9XQTqvLMNlXNLdyTWAkChKHh2"; private RecyclerView recly; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view=inflater.inflate(R.layout.fragent01,null); recly = (RecyclerView) view.findViewById(R.id.recycleviews); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); OkHttpUtils.get().url(str).build().execute(new StringCallback() { @Override public void onError(Call call, Exception e, int id) { } @Override public void onResponse(String response, int id) { Gson gson=new Gson(); Newsin newsin = gson.fromJson(response, Newsin.class); list=newsin.getResult().getData(); // MyAdapter mm=new MyAdapter(); MyAdapter mm=new MyAdapter(list,getActivity()); recly.setAdapter(mm); recly.setLayoutManager(new LinearLayoutManager(getActivity())); mm.setOnItemClickListener(new MyAdapter.ItemClickListener() { @Override public void onItemClickListener(int position) { Intent in=new Intent(getActivity(),WebActivity.class); in.putExtra("url",list.get(position).getUrl()); startActivity(in); } }); } }); } }