package com.mugua.mgvideo.ui.news;
|
|
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.content.pm.ActivityInfo;
|
import android.os.Bundle;
|
import androidx.fragment.app.FragmentActivity;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.widget.ListView;
|
import android.widget.ProgressBar;
|
import android.widget.TextView;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.lcjian.library.util.RefreshLayout;
|
import com.mugua.mgvideo.R;
|
import com.yeshi.base.utils.http.BasicTextHttpResponseHandler;
|
import com.mugua.mgvideo.MGVideoAPI;
|
import com.mugua.mgvideo.entity.News;
|
|
public class NewsActivity extends FragmentActivity implements OnClickListener {
|
|
private TextView tv_top_bar_left;
|
|
private TextView tv_top_bar_middle;
|
private RefreshLayout rl_news;
|
private ListView lv_news;
|
private int mCurrentPage = 1;
|
private StarWorksAdapter adapter;
|
private ArrayList<News> mList = new ArrayList<>();
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// 锁定竖屏
|
setContentView(R.layout.news_activity);
|
|
tv_top_bar_left = (TextView) findViewById(R.id.tv_top_bar_left);
|
tv_top_bar_middle = (TextView) findViewById(R.id.tv_top_bar_middle);
|
tv_top_bar_left.setText("返回");
|
tv_top_bar_middle.setText(getIntent().getStringExtra("cate_name"));
|
tv_top_bar_left.setOnClickListener(this);
|
|
rl_news = (RefreshLayout) findViewById(R.id.rl_news);
|
lv_news = (ListView) findViewById(R.id.lv_news);
|
lv_news = (ListView) findViewById(R.id.lv_news);
|
rl_news.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
mCurrentPage = 1;
|
getNewsList();
|
}
|
});
|
rl_news.setOnLoadListener(new RefreshLayout.OnLoadListener() {
|
@Override
|
public void onLoad() {
|
mCurrentPage++;
|
getNewsList();
|
}
|
});
|
lv_news.addHeaderView(new View(this));
|
adapter = new StarWorksAdapter(mList, NewsActivity.this);
|
lv_news.setAdapter(adapter);
|
ProgressBar pb = new ProgressBar(NewsActivity.this);
|
rl_news.setFooter(pb);
|
getNewsList();
|
rl_news.setRefreshing(true);
|
}
|
|
private void getNewsList() {
|
SharedPreferences preferences = getSharedPreferences("user",
|
Context.MODE_PRIVATE);
|
String uid = preferences.getString("uid", "");
|
MGVideoAPI.getNewsList(this, uid,
|
getIntent().getStringExtra("cate_name"), mCurrentPage,
|
|
new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onSuccessPerfect(int statusCode,
|
Header[] headers, JSONObject jsonObject)
|
throws Exception {
|
if (jsonObject.getBoolean("IsPost")) {
|
Gson gson = new GsonBuilder().create();
|
List<News> categories = gson.fromJson(jsonObject
|
.getJSONObject("Data").getJSONArray("data")
|
.toString(), new TypeToken<List<News>>() {
|
}.getType());
|
mList.addAll(categories);
|
adapter.notifyDataSetChanged();
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers,
|
String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString,
|
throwable);
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
rl_news.setRefreshing(false);
|
rl_news.setLoading(false);
|
}
|
|
});
|
}
|
|
@Override
|
protected void onResume() {
|
super.onResume();
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left: {
|
finish();
|
}
|
break;
|
case R.id.fl_mvideosfragment_download_failure:
|
getNewsList();
|
break;
|
default:
|
break;
|
}
|
}
|
|
}
|