您的位置:首页 > 理论基础 > 计算机网络

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

2017-11-22 15:00 609 查看
//实体类
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
4000
=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);}@Overridepublic int getCount() {return infoList.size();}@Overridepublic Object getItem(int position) {return infoList.get(position);}@Overridepublic long getItemId(int position) {return position;}@Overridepublic 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;}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: