MyAdapter 适配器

package com.example.myzhoukao_one.Activity;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.AsyncTask;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.myzhoukao_one.R;

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;

/**
 * Created by Administrator on 2017/10/10.
 */

public class MyAdapter extends BaseAdapter{


    Context context;
    List<DataDataBean.NewslistBean> list;

    public MyAdapter(List<DataDataBean.NewslistBean> list, Context context) {
        this.context = context;
        this.list = list;
    }

    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public Object getItem(int i) {
        return list.get(i);
    }

    @Override
    public long getItemId(int i) {
        return i;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {

        ViewHolder holder;
        if(view == null){
           view = View.inflate(context, R.layout.item_layout,null);

            holder = new ViewHolder();

            holder.iv = view.findViewById(R.id.image_view);
            holder.textView = view.findViewById(R.id.text_view);

            view.setTag(holder);
        }else{
            holder = (ViewHolder) view.getTag();
        }

        displayImage(list.get(i).getPicUrl(),holder.iv);
        holder.textView.setText(list.get(i).getTitle());

        return view;
    }
    private void displayImage(final String picUrl, final ImageView iv) {
        //异步处理
        AsyncTask< Void,Void,Bitmap> asyncTask = new AsyncTask< Void, Void, Bitmap>() {

            @Override
            protected Bitmap doInBackground(Void... voids) {
                //得到图片的网络格式
                try {
                    URL url = new URL(picUrl);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    //设置
                    connection.setRequestMethod("GET");
                    connection.setReadTimeout(5000);
                    connection.setConnectTimeout(5000);
                    //获取
                    int responseCode = connection.getResponseCode();
                    if(responseCode == 200){
                        InputStream inputStream = connection.getInputStream();
                        //转成Bitmap
                        Bitmap map = BitmapFactory.decodeStream(inputStream);
                        return map;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(Bitmap bitmap) {
                iv.setImageBitmap(bitmap);
            }
        };
        asyncTask.execute();
    }

    private class ViewHolder{
        ImageView iv;
        TextView textView;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RecyclerView适配器是用于将数据绑定到RecyclerView视图的一种方式。适配器负责创建视图项并将数据绑定到这些视图项上,以便在RecyclerView中显示它们。 以下是一个简单的RecyclerView适配器示例: ```java public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private List<String> mData; public MyAdapter(List<String> data) { mData = data; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_layout, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { String item = mData.get(position); holder.mTextView.setText(item); } @Override public int getItemCount() { return mData.size(); } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mTextView; public ViewHolder(View itemView) { super(itemView); mTextView = (TextView) itemView.findViewById(R.id.text_view); } } } ``` 在此示例中,我们创建了一个名为MyAdapter适配器类,它接受一个String类型的列表作为数据源。在onCreateViewHolder()方法中,我们从布局文件中创建了一个视图项,并将其包装在ViewHolder对象中返回。在onBindViewHolder()方法中,我们将数据绑定到ViewHolder中的视图项上。最后,在getItemCount()方法中,我们返回数据源中的项数。 RecyclerView适配器是一项非常强大的技术,它可以帮助您更轻松地管理和显示大量数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值