MainActivity.java11imageloaddislocation(listview图片加载错位)

xiaoxiao2021-02-28  30

package com.example.imageloaddislocationlistview; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import com.example.imageloaddislocationlistview.adapter.MyBaseAdapter; import com.example.imageloaddislocationlistview.bean.HealthInfo; import com.example.imageloaddislocationlistview.utils.StreamTools; import com.google.gson.Gson; import com.limxing.xlistview.view.XListView; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.util.List; public class MainActivity extends AppCompatActivity {     private XListView xLv;     @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);         //找控件         xLv = (XListView) findViewById(R.id.xLv);         //设置适配器         //xLv.setAdapter();         healthData("http://japi.juhe.cn/health_knowledge/infoList?key=eb033dfcf95c03f9f451f6973049e6be");     }     /**      * 请求网络数据      * @param path 请求接口地址      */     private void healthData(String path){         new AsyncTask<String,Void,String>(){             @Override             protected void onPostExecute(String s) {                 super.onPostExecute(s);                 if(s == null)                     return;                 //解析                 Gson gson = new Gson();                 HealthInfo healthInfo = gson.fromJson(s, HealthInfo.class);                 //得到data值                 List<HealthInfo.ResultBean.DataBean> dataList = healthInfo.getResult().getData();                 //设置适配器                 xLv.setAdapter(new MyBaseAdapter(MainActivity.this,dataList));             }             @Override             protected String doInBackground(String... params) {                 try {                     String path = params[0];                     URL url = new URL(path);                     HttpURLConnection connection = (HttpURLConnection) url.openConnection();                     connection.setRequestMethod("GET");                     connection.setConnectTimeout(5000);                     connection.setReadTimeout(5000);                     int code = connection.getResponseCode();                     if(code == HttpURLConnection.HTTP_OK){                         InputStream is = connection.getInputStream();                         String json = StreamTools.readFromNetWork(is);                         return json;                     }                 } catch (Exception e) {                     e.printStackTrace();                 }                 return null;             }         }.execute(path);     } }
转载请注明原文地址: https://www.6miu.com/read-600261.html

最新回复(0)