package com.mugua.mgvideo.ui.category;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import android.content.Context;
|
import android.content.SharedPreferences;
|
import android.os.Bundle;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.widget.ImageView;
|
import android.widget.ListView;
|
import android.widget.TextView;
|
|
import com.bumptech.glide.Glide;
|
import com.google.gson.FieldNamingPolicy;
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.lcjian.library.RetainViewFragment;
|
import com.mugua.mgvideo.R;
|
import com.umeng.analytics.MobclickAgent;
|
import com.mugua.mgvideo.MGVideoAPI;
|
import com.mugua.mgvideo.ui.discover.StarWorksAdapter;
|
import com.yeshi.base.entity.video.VideoInfo;
|
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
|
|
import static com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade;
|
|
public class SpecificDetailFragment extends RetainViewFragment implements
|
OnClickListener {
|
private View specifi_detail_top;
|
private SwipeRefreshLayout rl_specific_detail;
|
private ListView lv_specific_detail;
|
private ImageView specific_detail_banner;
|
private TextView specific_detail_name, specific_detail_introduction;
|
|
private List<VideoInfo> mVideoInfos;
|
private StarWorksAdapter mSpecificMovieAdapter;
|
|
private String id;
|
|
@Override
|
public int getContentResource() {
|
return R.layout.specific_detail_fragment;
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
MobclickAgent.onPageStart("专题详情页");
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
MobclickAgent.onPageEnd("专题详情页");
|
}
|
|
@Override
|
public void onCreateView(View contentView, Bundle savedInstanceState) {
|
Bundle bundle = getArguments();
|
id = bundle.getString("id");
|
rl_specific_detail = (SwipeRefreshLayout) contentView
|
.findViewById(R.id.rl_specific_detail);
|
lv_specific_detail = (ListView) contentView
|
.findViewById(R.id.lv_specific_detail);
|
|
specifi_detail_top = LayoutInflater.from(
|
rl_specific_detail.getContext()).inflate(
|
R.layout.specific_detail_top, null);
|
|
specific_detail_banner = (ImageView) specifi_detail_top
|
.findViewById(R.id.specific_detail_banner);
|
specific_detail_name = (TextView) specifi_detail_top
|
.findViewById(R.id.specific_detail_name);
|
specific_detail_introduction = (TextView) specifi_detail_top
|
.findViewById(R.id.specific_detail_introduction);
|
|
mVideoInfos = new ArrayList<VideoInfo>();
|
mSpecificMovieAdapter = new StarWorksAdapter(mVideoInfos, getActivity()
|
.getApplicationContext());
|
lv_specific_detail.addHeaderView(specifi_detail_top);
|
rl_specific_detail
|
.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
getSpecialDetail();
|
}
|
});
|
lv_specific_detail.setAdapter(mSpecificMovieAdapter);
|
|
lv_specific_detail.postDelayed(new Runnable() {
|
|
@Override
|
public void run() {
|
rl_specific_detail.setRefreshing(true);
|
getSpecialDetail();
|
}
|
}, 200);
|
|
}
|
|
private void getSpecialDetail() {
|
SharedPreferences preferences = specifi_detail_top.getContext()
|
.getSharedPreferences("user", Context.MODE_PRIVATE);
|
String uid = preferences.getString("uid", "");
|
|
MGVideoAPI.getSpecialDetail(lv_specific_detail.getContext(), uid,
|
id, new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onSuccessPerfect(int statusCode,
|
Header[] headers, JSONObject jsonObject)
|
throws Exception {
|
if (jsonObject.getBoolean("IsPost")) {
|
mVideoInfos.clear();
|
specific_detail_name.setText(jsonObject
|
.getJSONObject("Data")
|
.getJSONObject("special").optString("Name")
|
.toString());
|
specific_detail_introduction.setText(jsonObject
|
.getJSONObject("Data")
|
.getJSONObject("special")
|
.optString("Introduction").toString());
|
try {
|
Glide.with(
|
getActivity().getApplicationContext())
|
.load(jsonObject.getJSONObject("Data")
|
.getJSONObject("special")
|
.optString("Picture"))
|
.transition(withCrossFade())
|
.into(specific_detail_banner);
|
} catch (IllegalArgumentException e) {
|
e.printStackTrace();
|
}
|
|
Gson gson = new GsonBuilder().setFieldNamingPolicy(
|
FieldNamingPolicy.UPPER_CAMEL_CASE)
|
.create();
|
List<VideoInfo> videoInfos = gson.fromJson(
|
jsonObject.getJSONObject("Data")
|
.getJSONArray("data").toString(),
|
new TypeToken<List<VideoInfo>>() {
|
}.getType());
|
mVideoInfos.addAll(videoInfos);
|
mSpecificMovieAdapter.notifyDataSetChanged();
|
}
|
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers,
|
byte[] responseBytes, Throwable throwable) {
|
// TODO Auto-generated method stub
|
super.onFailure(statusCode, headers, responseBytes,
|
throwable);
|
}
|
|
@Override
|
public void onFinish() {
|
// TODO Auto-generated method stub
|
super.onFinish();
|
rl_specific_detail.setRefreshing(false);
|
}
|
});
|
}
|
|
@Override
|
public void onClick(View v) {
|
|
}
|
}
|