package com.tejia.lijin.app.ui.mine;
|
|
import android.os.Bundle;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.RecyclerView;
|
import android.view.View;
|
import android.widget.ImageView;
|
import android.widget.TextView;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.tejia.lijin.app.ShoppingApplication;
|
import com.tejia.lijin.app.util.user.UserUtil;
|
import com.wpc.library.recyclerviewhelper.DividerItemDecoration;
|
import com.wpc.library.util.common.DimenUtils;
|
import com.tejia.lijin.app.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.ShoppingApi;
|
import com.tejia.lijin.app.entity.ThematicActivity;
|
import com.tejia.lijin.app.ui.BaseActivity;
|
import com.tejia.lijin.app.ui.dialog.ShapeLoadingDialog;
|
import com.tejia.lijin.app.util.TopStatusSettings;
|
|
import org.apache.http.Header;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* 活动中心
|
*/
|
public class ActivityCenterActivity extends BaseActivity implements View.OnClickListener {
|
private TextView tv_left, tv_middle;
|
private SwipeRefreshLayout srl_activity_center;
|
private RecyclerView rv_activity_center;
|
|
private List<ThematicActivity> mList;
|
ThematicActivityAdapter adapter;
|
|
ShapeLoadingDialog pd = null;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_activity_center);
|
TopStatusSettings.setStatusViewAndDeepColor(this);
|
initView();
|
}
|
|
@Override
|
protected void onResume() {
|
super.onResume();
|
getThematicActivity();
|
}
|
|
/*
|
初始化View
|
*/
|
private void initView() {
|
tv_left = findViewById(R.id.tv_top_bar_left);
|
tv_middle = findViewById(R.id.tv_top_bar_middle);
|
srl_activity_center = findViewById(R.id.srl_activity_center);
|
rv_activity_center = findViewById(R.id.rv_activity_center);
|
tv_middle.setText("专题活动");
|
|
LinearLayoutManager manager = new LinearLayoutManager(this);
|
rv_activity_center.setLayoutManager(manager);
|
DividerItemDecoration decoration = new DividerItemDecoration();
|
decoration.setSize(DimenUtils.dip2px(this, 10));
|
rv_activity_center.addItemDecoration(decoration);
|
|
mList = new ArrayList<>();
|
adapter = new ThematicActivityAdapter(ActivityCenterActivity.this, mList);
|
rv_activity_center.setAdapter(adapter);
|
ImageView iv = new ImageView(this);//添加虚假Header
|
adapter.addHeaderView(iv);
|
|
srl_activity_center.setColorSchemeResources(R.color.main_text_color);
|
srl_activity_center.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
getThematicActivity();
|
}
|
});
|
|
tv_left.setOnClickListener(this);
|
}
|
|
/*
|
获取专题活动列表
|
*/
|
private void getThematicActivity() {
|
if (pd == null) {
|
pd = new ShapeLoadingDialog.Builder(this).build();
|
}
|
pd.show();
|
ShoppingApi.getSpecialActivity(this, UserUtil.getUid(ShoppingApplication.application), new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optInt("code") == 0) {
|
mList.clear();
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
List<ThematicActivity> list = gson.fromJson(jsonObject.optJSONObject("data").
|
optJSONArray("special").toString(),
|
new TypeToken<List<ThematicActivity>>() {
|
}.getType());
|
mList.addAll(list);
|
mList.add(new ThematicActivity());
|
adapter.notifyDataSetChanged();
|
// adapter.notifyItemRangeChanged(mList.size(), list.size());//倒序批量刷新列表
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
srl_activity_center.setRefreshing(false);
|
if (pd.isShowing())
|
pd.dismiss();
|
}
|
});
|
}
|
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
}
|
}
|
}
|