public class frag_Listview extends Fragment {
private ListView lv;
String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
private ArrayList<JsonBean.DataBean> list;
private MyAdapter myAdapter;
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what==1){
String json = (String) msg.obj;
Gson gson = new Gson();
JsonBean jsonBean = gson.fromJson(json, JsonBean.class);
List<JsonBean.DataBean> data = jsonBean.getData();
list.addAll(data);
myAdapter.notifyDataSetChanged();
}
}
};
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_list,container,false);
//找控件
lv = view.findViewById(R.id.lv);
//创建list集合并加入
list = new ArrayList<JsonBean.DataBean>();
//适配器
myAdapter = new MyAdapter(getActivity(), list);
lv.setAdapter(myAdapter);
//调用子线程
gethander();
return view;
}
//创建个子线程
private void gethander(){
new Thread(){
@Override
public void run() {
super.run();
String string = Net_utlis.string(urlString);
Message message = handler.obtainMessage();
message.what = 1;
message.obj = string;
handler.sendMessage(message);
}
}.start();
}
}
异步解析greatview展示
public class frag_GreatView extends Fragment {
private GridView gdv;
private ArrayList<JsonBean.DataBean> list;
String urlString = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
private MyAdapter myAdapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_great,container,false);
//找控件
gdv = view.findViewById(R.id.gdv);
//创建集合
list = new ArrayList<JsonBean.DataBean>();
//适配器
myAdapter = new MyAdapter(getActivity(), list);
gdv.setAdapter(myAdapter);
getData();
return view;
}
private void getData() {
new MyAsynTask().execute(urlString);
}
//创建一个方法
class MyAsynTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
String s = Net_utlis.string(strings[0]);
return s;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
List<JsonBean.DataBean> data = jsonBean.getData();
list.addAll(data);
myAdapter.notifyDataSetChanged();
}
}
}