使用Okhttp框架访问接口数据,通过RecyclerView进行数据展示

来源:互联网 发布:淘宝热带鱼活体 编辑:程序博客网 时间:2024/06/14 13:38

## 以下实现的就是就是这样的效果,使用XRecyclerView和OKHttp实现的功能 ##

这里写图片描述

/** * 类描述:适配器 */public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {    private List<DataBeans.DataBean> list;    private Context context;    private View view;    private MyRecyclerViewInterface listener;    public void setListener(MyRecyclerViewInterface listener) {        this.listener = listener;    }    public MyAdapter(List<DataBeans.DataBean> list, Context context) {        this.list = list;        this.context = context;    }    @Override    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        view = View.inflate(context, R.layout.item, null);        ViewHolder holder = new ViewHolder(view);        return holder;    }    @Override    public void onBindViewHolder(ViewHolder holder, final int position) {        Glide.with(context).load(list.get(position).getUserImg()).into(holder.userImg);        holder.userName.setText(list.get(position).getUserName());        holder.userAge.setText(list.get(position).getUserAge() + "岁");        holder.userOccupation.setText(list.get(position).getOccupation());        holder.userIntroduction.setText(list.get(position).getIntroduction());        holder.userName.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                context.startActivity(new Intent(context, ExceptionActivity.class));            }        });        view.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                listener.onItemClick(v, position);            }        });    }    @Override    public int getItemCount() {        return list.size();    }    class ViewHolder extends RecyclerView.ViewHolder {        private ImageView userImg;        private TextView userName, userAge, userOccupation, userIntroduction;        public ViewHolder(View itemView) {            super(itemView);            userImg = (ImageView) itemView.findViewById(R.id.userImg);            userName = (TextView) itemView.findViewById(R.id.userName);            userAge = (TextView) itemView.findViewById(R.id.userAge);            userOccupation = (TextView) itemView.findViewById(R.id.userOccupation);            userIntroduction = (TextView) itemView.findViewById(R.id.userIntroduction);        }    }}
 /**     * 保存错误信息到文件中     *     * @param ex     * @return 返回文件名称, 便于将文件传送到服务器     */    private String saveCrashInfo2File(Throwable ex) {        StringBuffer sb = new StringBuffer();        for (Map.Entry<String, String> entry : infos.entrySet()) {            String key = entry.getKey();            String value = entry.getValue();            sb.append(key + "=" + value + "\n");        }        Writer writer = new StringWriter();        PrintWriter printWriter = new PrintWriter(writer);        ex.printStackTrace(printWriter);        Throwable cause = ex.getCause();        while (cause != null) {            cause.printStackTrace(printWriter);            cause = cause.getCause();        }        printWriter.close();        String result = writer.toString();        sb.append(result);        try {            long timestamp = System.currentTimeMillis();            String time = formatter.format(new Date());            String fileName = "crash-" + time + "-" + timestamp + ".log";            if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {                String path = "/sdcard/crash/";                File dir = new File(path);                if (!dir.exists()) {                    dir.mkdirs();                }                FileOutputStream fos = new FileOutputStream(path + fileName);                fos.write(sb.toString().getBytes());                fos.close();            }            return fileName;        } catch (Exception e) {            Log.e(TAG, "an error occured while writing file...", e);        }        return null;    }

只粘贴了两个类,具体请看https://github.com/MarshalZane/RecyclerViewMonth

阅读全文
0 0
原创粉丝点击