public class SecondActivity extends AppCompatActivity{
private XListView xlv;
private List<Bean.DataBean> data;
private MyAdapter myAdapter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
xlv = (XListView) findViewById(R.id.xlv);
get("http://120.27.23.105/product/getProducts?pscid=1");
}
class MyAdapter extends BaseAdapter {
public List<Bean.DataBean> list;
private DisplayImageOptions op;
public MyAdapter(List<Bean.DataBean> list) {
this.list = list;
op=new DisplayImageOptions.Builder().cacheOnDisk(true).cacheInMemory(true).build();
}
@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) {
view = View.inflate(SecondActivity.this, R.layout.item, null);
TextView tv = view.findViewById(R.id.tv);
tv.setText(list.get(i).getTitle());
ImageView img=view.findViewById(R.id.img);
String images = list.get(i).getImages();
String[] split = images.split("\\|");
ImageLoader.getInstance().displayImage(split[0],img,op);
return view;
}
}
public void get(final String url1) {
//子线程
new Thread() {
@Override
public void run() {
super.run();
try {
final String uri = getURI(url1);
runOnUiThread(new Runnable() {
@Override
public void run() {
Gson gson = new Gson();
Bean bean = gson.fromJson(uri, Bean.class);
data = bean.getData();
myAdapter = new MyAdapter(data);
xlv.setAdapter(myAdapter);
}
});
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
private String getURI(String url) throws IOException {
//ok的get的方法
OkHttpClient client = new OkHttpClient();
Request build = new Request.Builder()
.url(url)
.build();
Response execute = client.newCall(build).execute();
if (execute.isSuccessful()) {
return execute.body().string();
} else {
return "";
}
}
}