//实体类
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;
}
}