package com.weikou.beibeivideo.ui.common;
|
|
import android.content.Context;
|
import android.content.SharedPreferences;
|
import android.os.Bundle;
|
import android.support.v4.app.Fragment;
|
import android.support.v4.widget.SwipeRefreshLayout;
|
import android.view.LayoutInflater;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.ViewGroup;
|
import android.widget.ImageView;
|
import android.widget.ListView;
|
import android.widget.ProgressBar;
|
import android.widget.Toast;
|
|
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.util.RefreshLayout;
|
import com.umeng.analytics.MobclickAgent;
|
import com.weikou.beibeivideo.BasicTextHttpResponseHandler;
|
import com.weikou.beibeivideo.BeibeiVideoAPI;
|
import com.weikou.beibeivideo.entity.VideoInfo;
|
import com.weikou.beibeivideo.entity.VideoType;
|
import com.weikou.beibeivideo.ui.discover.StarWorksAdapter;
|
import com.yeshi.buwanshequ.R;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
public class VideosFragment extends Fragment implements
|
OnClickListener {
|
|
private StarWorksAdapter adapter;
|
|
private RefreshLayout rl_category_video;
|
|
private ListView lv_category_video;
|
|
private List<VideoInfo> mVideoInfos;
|
|
private String mHomeType;
|
|
private String mVideoType;
|
|
private String mStarId;
|
|
private int mCurrentPage = 1;
|
|
private VideoType type;
|
View view;
|
|
private ImageView iv_download_failure;
|
|
public static VideosFragment newInstance(VideoType type) {
|
VideosFragment fragment = new VideosFragment();
|
Bundle bundle = new Bundle();
|
bundle.putSerializable("videotype", type);
|
fragment.setArguments(bundle);
|
return fragment;
|
}
|
|
@Override
|
public void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
MobclickAgent.onPageStart("分类详情页");
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
MobclickAgent.onPageEnd("分类详情页");
|
}
|
|
@Override
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
view = inflater.inflate(R.layout.videos_activity, null);
|
rl_category_video = (RefreshLayout) view.findViewById(R.id.rl_category_video);
|
lv_category_video = (ListView) view.findViewById(R.id.lv_category_video);
|
rl_category_video.setOnLoadListener(new RefreshLayout.OnLoadListener() {
|
@Override
|
public void onLoad() {
|
mCurrentPage++;
|
getVideoList();
|
}
|
});
|
rl_category_video.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
mCurrentPage = 1;
|
getVideoList();
|
}
|
});
|
iv_download_failure = (ImageView) view
|
.findViewById(R.id.iv_videosfragment_download_failure);
|
iv_download_failure.setOnClickListener(this);
|
view.findViewById(R.id.tv_more_new).setOnClickListener(this);
|
view.findViewById(R.id.tv_more_hot).setOnClickListener(this);
|
// view.findViewById(R.id.tv_more_comment).setOnClickListener(this);
|
|
type = (VideoType) getArguments().getSerializable("videotype");
|
|
mHomeType = getActivity().getIntent().getStringExtra("home_type");
|
mVideoType = getActivity().getIntent().getStringExtra("video_type");
|
mStarId = getActivity().getIntent().getStringExtra("star_id");
|
|
mHomeType = (mHomeType == null ? "" : mHomeType);
|
mVideoType = (mVideoType == null ? "" : mVideoType);
|
mStarId = (mStarId == null ? "" : mStarId);
|
|
lv_category_video.addHeaderView(new View(lv_category_video.getContext()));
|
ProgressBar pb = new ProgressBar(lv_category_video.getContext());
|
mVideoInfos = new ArrayList<VideoInfo>();
|
adapter = new StarWorksAdapter(mVideoInfos, getActivity().getApplicationContext());
|
lv_category_video.setAdapter(adapter);
|
rl_category_video.setFooter(pb);
|
|
getVideoList();
|
return view;
|
}
|
|
private void getVideoList() {
|
SharedPreferences preferences = lv_category_video.getContext().getSharedPreferences(
|
"user", Context.MODE_PRIVATE);
|
String uid = preferences.getString("uid", "");
|
BeibeiVideoAPI.getVideoList(lv_category_video.getContext(), uid, mStarId, mHomeType,
|
type.getId(), String.valueOf(mCurrentPage), category_two + "", type.getCategoryType(),
|
new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onSuccessPerfect(int statusCode,
|
Header[] headers, JSONObject jsonObject)
|
throws Exception {
|
if (jsonObject.getBoolean("IsPost")) {
|
iv_download_failure.setVisibility(View.GONE);
|
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());
|
|
if (mCurrentPage == 1) {
|
mVideoInfos.clear();
|
}
|
mVideoInfos.addAll(videoInfos);
|
if (mVideoInfos.size() > 0)
|
adapter.notifyDataSetChanged();
|
// 需要添加广点通原生广告的时候执行以下条件语句,否则取消
|
// if (videoInfos != null && videoInfos.size() ==
|
// 30) {
|
// loadAD();
|
// }
|
if ((videoInfos == null || videoInfos.size() == 0)
|
&& mCurrentPage > 1) {
|
Toast.makeText(lv_category_video.getContext(), "没有更多了",
|
Toast.LENGTH_SHORT).show();
|
mCurrentPage--;
|
}
|
} else {
|
iv_download_failure.setVisibility(View.VISIBLE);
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers,
|
String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString,
|
throwable);
|
iv_download_failure.setVisibility(View.VISIBLE);
|
}
|
|
@Override
|
public void onFinish() {
|
rl_category_video.setRefreshing(false);
|
rl_category_video.setLoading(false);
|
}
|
});
|
}
|
|
int category_two = 1;
|
|
@Override
|
public void onClick(View v) {
|
|
switch (v.getId()) {
|
case R.id.iv_videosfragment_download_failure:
|
mCurrentPage = 1;
|
category_two = 1;
|
rl_category_video.setRefreshing(true);
|
view.findViewById(R.id.tv_more_new).setBackgroundResource(R.drawable.ic_select2);
|
view.findViewById(R.id.tv_more_hot).setBackgroundResource(R.drawable.ic_select1);
|
// view.findViewById(R.id.tv_more_comment).setBackgroundResource(R.drawable.ic_select1);
|
getVideoList();
|
break;
|
case R.id.tv_more_new:
|
mCurrentPage = 1;
|
rl_category_video.setRefreshing(true);
|
category_two = 1;
|
view.findViewById(R.id.tv_more_new).setBackgroundResource(R.drawable.ic_select2);
|
view.findViewById(R.id.tv_more_hot).setBackgroundResource(R.drawable.ic_select1);
|
// view.findViewById(R.id.tv_more_comment).setBackgroundResource(R.drawable.ic_select1);
|
getVideoList();
|
break;
|
case R.id.tv_more_hot:
|
mCurrentPage = 1;
|
category_two = 2;
|
rl_category_video.setRefreshing(true);
|
view.findViewById(R.id.tv_more_new).setBackgroundResource(R.drawable.ic_select1);
|
view.findViewById(R.id.tv_more_hot).setBackgroundResource(R.drawable.ic_select2);
|
// view.findViewById(R.id.tv_more_comment).setBackgroundResource(R.drawable.ic_select1);
|
getVideoList();
|
break;
|
// case R.id.tv_more_comment:
|
// mCurrentPage = 1;
|
// category_two = 3;
|
// rl_category_video.setRefreshing(true);
|
// view.findViewById(R.id.tv_more_new).setBackgroundResource(R.drawable.ic_select1);
|
// view.findViewById(R.id.tv_more_hot).setBackgroundResource(R.drawable.ic_select1);
|
// view.findViewById(R.id.tv_more_comment).setBackgroundResource(R.drawable.ic_select2);
|
// getVideoList();
|
// break;
|
|
default:
|
break;
|
}
|
}
|
}
|