HttpUrlConnection 和 AsyncTask

来源:互联网 发布:中南大学网络教学平台 编辑:程序博客网 时间:2024/05/16 15:36
public class MyF1 extends Fragment{    private ListView lv_httpUrlConnection;    private String urlStr = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10";    private MyAdapter adapter;    List<MyNews.NewslistBean> list = new ArrayList<>();    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.myf1, container, false);        lv_httpUrlConnection = view.findViewById(R.id.lv_HttpUrlConnection);        return view;    }    @Override    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {        super.onViewCreated(view, savedInstanceState);       new MyAsyncTask().execute(urlStr);        adapter = new MyAdapter();        lv_httpUrlConnection.setAdapter(adapter);        adapter.notifyDataSetChanged();;    }    class MyAsyncTask  extends AsyncTask<String, Void, String > {        private String netJson;        private String result;        @Override        protected String doInBackground(String... strings) {            String s = strings[0];                netJson = NetUtils.getJsonByHttpUrlConnection(s);                return netJson;        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);                Gson gson = new Gson();                MyNews news= gson.fromJson(s, MyNews.class);                List<MyNews.NewslistBean> nal =  news.getNewslist();                list.addAll(nal);            Log.e("aa",list.toString());                adapter.notifyDataSetChanged();        }    }   class MyAdapter extends BaseAdapter{        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            if(view == null){                view = View.inflate(getActivity(),R.layout.myf1_item,null);            }                 TextView f1_tv =  view.findViewById(R.id.f1_tv);                  f1_tv.setText(list.get(i).getTitle().toString());               ImageView f1_img =  view.findViewById(R.id.f1_img);          //  f1_img.setImageBitmap();            return view;        }    }}