> **Http**
public class Http {
public static String getnet(String strurl){
try {
URL url = new URL(strurl);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
int code = connection.getResponseCode();
if (code==200){
InputStream stream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream, "utf-8"));
StringBuilder builder = new StringBuilder();
String str="";
while ((str=reader.readLine())!=null){
builder.append(str);
}
return builder.toString();
}
connection.disconnect();;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
``
**MainActivite**
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewpager = findViewById(R.id.viewpager);
radiogroup = findViewById(R.id.radiogroup);
radiogroup.check(radiogroup.getChildAt(0).getId());
list = new ArrayList<Fragment>();
Fraglistvew fraglistvew = new Fraglistvew();
FragGridview fraggridview = new FragGridview();
list.add(fraglistvew);
list.add(fraggridview);
viewpager.setAdapter( new MyFragMentAdapter(getSupportFragmentManager(),list));
viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
//按钮跟着页面走
radiogroup.check(radiogroup.getChildAt(i).getId());
}
radiogroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId){
case R.id.button1:
viewpager.setCurrentItem(0);
case R.id.button2:
viewpager.setCurrentItem(1);
}
}
});
**FragListview**
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fraglistview, null);
listview = view.findViewById(R.id.listview);
new Thread(){
@Override
public void run() {
super.run();
String getnet = Http.getnet("https://api.apiopen.top/musicRankings");
Gson gson = new Gson();
JsonData data = gson.fromJson(getnet, JsonData.class);
list = data.getResult();
Message message = new Message();
message.what=0;
message.obj= list;
handler.sendMessage(message);
}
}.start();
return view;
}
@SuppressLint("HandlerLeak")
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 0:
List<JsonData.ResultBean> list=( List<JsonData.ResultBean>) msg.obj;
MyAdapter adapter = new MyAdapter(getActivity(),list);
listview.setAdapter(adapter);
break;
}
}
**Adapter**
@Override
public View getView(int position, View convertView, ViewGroup parent) {
holder = new Holder();
if (convertView==null){
convertView = View.inflate(context, R.layout.list, null);
holder.img = convertView.findViewById(R.id.img);
holder.name = convertView.findViewById(R.id.name);
convertView.setTag(holder);
}
else{
holder = (Holder) convertView.getTag();
}
holder.name.setText(list.get(position).getName());
ImageLoader.getInstance().displayImage(list.get(position).getPic_s192(),holder.img);
return convertView;
}
class Holder{
public TextView name;
ImageView img;
}
}
**App**
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
DisplayImageOptions Options = new DisplayImageOptions.Builder().build();
ImageLoaderConfiguration build = new ImageLoaderConfiguration.Builder(this).defaultDisplayImageOptions(Options).build();
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(build);
}