Grid页面 记得要继承 MyAsyncTask.Callbacks
public class FragGridview extends Fragment implements MyAsyncTask.Callbacks{
private GridView gridview;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fraggridview, null);
gridview = view.findViewById(R.id.gridview);
MyAsyncTask task = new MyAsyncTask();
task.setCallbacks( this);
task.execute("https://api.apiopen.top/musicRankings");
return view;
}
public String getData(String string){
Gson gson = new Gson();
JsonData json = gson.fromJson(string, JsonData.class);
List<JsonData.ResultBean> list = json.getResult();
gridview.setAdapter(new MyAdapter(getActivity(), list));
Toast.makeText(getActivity(), list+"", Toast.LENGTH_SHORT).show();
return null;
}
AsyncTask 记得要继承
public class MyAsyncTask extends AsyncTask<String, Void,String> {
@Override
protected String doInBackground(String... strings) {
return Http.getnet(strings[0]);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Log.i("onPostExecute","这是我解析的"+s);
callbacks.getData(s);
}
public interface Callbacks{
String getData(String string);
}
private Callbacks callbacks;
public void setCallbacks(Callbacks callbacks){
this.callbacks=callbacks;
}
}