简单用Xutils从网络获取图片并展示到列表中

来源:互联网 发布:mysql 调用存储过程 编辑:程序博客网 时间:2024/06/14 09:12
//实体类public class MainActivity extends AppCompatActivity {    private ListView lv1;    private ArrayList<com.example.administrator.fu_01.shiti.InfoListBean> list;    private Myadapter myadapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();    }    private void initView() {        lv1 = (ListView) findViewById(R.id.lv1);        //xutils的网络获取        RequestParams params=new RequestParams("http://www.moviebase.cn/uread/app/recommend/recommend?platform=2&deviceId=A8C73E0D1ED1A2BED491C9238C8FD8A0&pageContext=1&appVersion=1.7.0");        x.http().get(params, new Callback.CommonCallback<String>() {            @Override            public void onSuccess(String s) {                //解析字符串                Gson gson=new Gson();                shiti shiti = gson.fromJson(s, shiti.class);
                //复制肩括号内容到适配器中可以直接从此调用                final List<com.example.administrator.fu_01.shiti.InfoListBean> infoList = shiti.getInfoList();                //实例化适配器                myadapter=new Myadapter(infoList,MainActivity.this);                lv1.setAdapter(myadapter);                //设置条目监听                lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {                    @Override                    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                        AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);                        builder.setMessage(infoList.get(position).getObject().getTitle());                        builder.create();                        builder.show();                    }                });            }            @Override            public void onError(Throwable throwable, boolean b) {            }            @Override            public void onCancelled(CancelledException e) {            }            @Override            public void onFinished() {            }        });    }}
//初始化Xutils记得在清单文件中添加权限name和网络权限
public class Myapp extends Application{    @Override    public void onCreate() {        super.onCreate();        x.Ext.init(this);    }}
//自定义适配器
package com.example.administrator.fu_01;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.squareup.picasso.Picasso;import java.util.List;/** * Created by Administrator on 2017/11/22. */public class Myadapter extends BaseAdapter{    //重点从上一个直接复制拿出    List<com.example.administrator.fu_01.shiti.InfoListBean> infoList;    private Context context;    private LayoutInflater inflater;    public Myadapter(List<shiti.InfoListBean> infoList, Context context) {        this.infoList = infoList;        this.context = context;        inflater=LayoutInflater.from(context);    }    @Override    public int getCount() {        return infoList.size();    }    @Override    public Object getItem(int position) {        return infoList.get(position);    }    @Override    public long getItemId(int position) {        return position;    }    @Override    public View getView(int position, View convertView, ViewGroup parent) {        ViewHolder vh;        if (convertView==null){            convertView=inflater.inflate(R.layout.item,null);            vh=new ViewHolder();            vh.iv1= (ImageView) convertView.findViewById(R.id.iv1);            vh.tv1= (TextView) convertView.findViewById(R.id.tv1);            convertView.setTag(vh);        }else {            vh= (ViewHolder) convertView.getTag();        }        vh.tv1.setText(infoList.get(position).getObject().getTitle());
        //从网络下载图片        Picasso.with(context).load(infoList.get(position).getObject().getImgUrl()).into(vh.iv1);        return convertView;    }    class ViewHolder{        ImageView iv1;        TextView tv1;    }}