package com.wm.remusic.fragmentnet;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.google.gson.JsonObject;
import com.wm.remusic.MainApplication;
import com.wm.remusic.R;
import com.wm.remusic.fragment.AttachFragment;
import com.wm.remusic.handler.HandlerUtil;
import com.wm.remusic.json.ArtistInfo;
import com.wm.remusic.net.BMA;
import com.wm.remusic.net.HttpUtil;
/**
* Created by wm on 2016/8/3.
*/
public class ArtistInfoFragment extends AttachFragment {
FrameLayout frameLayout;
private TextView artistInfoView, artistName;
private String artistid;
ArtistInfo artistInfo;
private View v;
private boolean firstCreate;
public static ArtistInfoFragment getInstance(String id) {
ArtistInfoFragment fragment = new ArtistInfoFragment();
Bundle bundle = new Bundle();
bundle.putString("id", id);
fragment.setArguments(bundle);
return fragment;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.load_framelayout, container, false);
frameLayout = (FrameLayout) view.findViewById(R.id.loadframe);
View loadView = LayoutInflater.from(mContext).inflate(R.layout.loading, frameLayout, false);
frameLayout.addView(loadView);
v = LayoutInflater.from(mContext).inflate(R.layout.fragment_artistinfo, frameLayout, false);
artistName = (TextView) v.findViewById(R.id.artist_name);
artistInfoView = (TextView) v.findViewById(R.id.artist_info);
if (getArguments() != null) {
artistid = getArguments().getString("id");
}
return view;
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
if (isVisibleToUser && firstCreate) {
loadContent();
}
firstCreate = true;
}
private void loadContent() {
new Thread(new Runnable() {
@Override
public void run() {
JsonObject object = HttpUtil.getResposeJsonObject(BMA.Artist.artistInfo("", artistid));
artistInfo = MainApplication.gsonInstance().fromJson(object, ArtistInfo.class);
if (artistInfo != null && artistInfo.getAvatar_s500() != null) {
HandlerUtil.getInstance(mContext).post(new Runnable() {
@Override
public void run() {
artistName.setText(artistInfo.getName());
artistInfoView.setText(artistInfo.getIntro());
frameLayout.removeAllViews();
frameLayout.addView(v);
}
});
}
}
}).start();
}
}