package com.tejia.lijin.app.ui.recommend;
|
|
import android.graphics.drawable.AnimationDrawable;
|
import android.os.Bundle;
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.RecyclerView;
|
import android.view.LayoutInflater;
|
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.BasicTextHttpResponseHandler;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.ShoppingApi;
|
import com.tejia.lijin.app.entity.TaoBaoGoodsBrief;
|
import com.tejia.lijin.app.ui.BaseActivity;
|
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 ShareExplosionsListActivity extends BaseActivity implements View.OnClickListener {
|
|
private TextView tv_middle, tv_left;
|
private RecyclerView rv_share_explosions_list;
|
private SwipeRefreshLayout srl_share_explosions_list;
|
private ShareExplosionsListAdapter goodsAdapter;
|
|
private View bottom;
|
private ImageView iv_loading;
|
private TextView tv_loading;
|
|
private ImageView iv_slid_top;
|
int page = 1;
|
int count = 1;
|
private boolean isLoad = false;
|
|
private List<TaoBaoGoodsBrief> mList = new ArrayList<>();
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_share_explosions_list);
|
TopStatusSettings.setStatusViewAndDeepColor(this);
|
initView();
|
}
|
|
/**
|
* 初始化View
|
*/
|
private void initView() {
|
tv_left = findViewById(R.id.tv_top_bar_left);
|
tv_middle = findViewById(R.id.tv_top_bar_middle);
|
iv_slid_top = findViewById(R.id.iv_slid_top);
|
rv_share_explosions_list = findViewById(R.id.rv_share_explosions_list);
|
srl_share_explosions_list = findViewById(R.id.srl_share_explosions_list);
|
|
srl_share_explosions_list.setColorSchemeColors(getResources().getColor(R.color.theme));
|
srl_share_explosions_list.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
// setGoodsIndex();
|
page = 1;
|
getGoodsList();
|
}
|
});
|
|
rv_share_explosions_list.addOnScrollListener(new RecyclerView.OnScrollListener() {
|
@Override
|
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
|
super.onScrollStateChanged(recyclerView, newState);
|
LinearLayoutManager manager = (LinearLayoutManager) recyclerView.getLayoutManager();
|
int first = manager.findFirstVisibleItemPosition();
|
int last = manager.findLastVisibleItemPosition();
|
int total = manager.getItemCount();
|
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
|
if (first == 0) {
|
iv_slid_top.setVisibility(View.GONE);
|
}
|
if (last == total - 1 && mList.size() < count && isLoad) {
|
page++;
|
isLoad = false;
|
tv_loading.setText("正在加载更多数据");
|
iv_loading.setVisibility(View.VISIBLE);
|
getGoodsList();
|
}
|
} else {
|
iv_slid_top.setVisibility(View.GONE);
|
}
|
}
|
|
@Override
|
public void onScrolled(RecyclerView recyclerView, int dx, final int dy) {
|
super.onScrolled(recyclerView, dx, dy);
|
if (Math.abs(dy) > 30) {
|
if (dy > 0) {
|
iv_slid_top.setVisibility(View.GONE);
|
} else {
|
iv_slid_top.setVisibility(View.VISIBLE);
|
}
|
}
|
}
|
});
|
|
bottom = LayoutInflater.from(rv_share_explosions_list.getContext())
|
.inflate(R.layout.item_recyclerview_bottom, null);
|
tv_loading = bottom.findViewById(R.id.tv_loading);
|
iv_loading = bottom.findViewById(R.id.iv_loading);
|
AnimationDrawable animationDrawable = (AnimationDrawable) getResources().getDrawable(
|
R.drawable.anim_list_loading);
|
iv_loading.setImageDrawable(animationDrawable);
|
animationDrawable.start();
|
// Glide.with(this).load(R.drawable.gif_loading).into(iv_loading);
|
bottom.setVisibility(View.INVISIBLE);
|
|
rv_share_explosions_list.setLayoutManager(new LinearLayoutManager(this));
|
goodsAdapter = new ShareExplosionsListAdapter(rv_share_explosions_list.getContext(), mList);
|
rv_share_explosions_list.setAdapter(goodsAdapter);
|
goodsAdapter.addFooterView(bottom);
|
|
tv_middle.setText("分享爆款");
|
tv_left.setOnClickListener(this);
|
iv_slid_top.setOnClickListener(this);
|
}
|
|
@Override
|
protected void onResume() {
|
super.onResume();
|
//*获取爆款商品列表
|
getGoodsList();
|
}
|
|
/*
|
*获取爆款商品列表
|
*/
|
private void getGoodsList() {
|
String uid = getSharedPreferences("user", MODE_PRIVATE).getString("uid", "");
|
ShoppingApi.getShareExplosions(this, uid, page, new BasicTextHttpResponseHandler() {
|
|
@Override
|
public void onStart() {
|
super.onStart();
|
srl_share_explosions_list.setRefreshing(true);
|
if (page > 1) {
|
bottom.setVisibility(View.VISIBLE);
|
} else {
|
bottom.setVisibility(View.INVISIBLE);
|
}
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
srl_share_explosions_list.setRefreshing(false);
|
}
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
bottom.setVisibility(View.INVISIBLE);
|
if (0 == jsonObject.optInt("code")) {
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
List<TaoBaoGoodsBrief> list = gson.fromJson(jsonObject.optJSONObject("data")
|
.optJSONArray("list").toString(), new TypeToken<List<TaoBaoGoodsBrief>>() {
|
}.getType());
|
if (page == 1)
|
mList.clear();
|
mList.addAll(list);
|
goodsAdapter.notifyDataSetChanged();
|
count = jsonObject.optJSONObject("data").optInt("count");
|
|
if (mList.size() == count) {
|
bottom.setVisibility(View.VISIBLE);
|
iv_loading.setVisibility(View.GONE);
|
tv_loading.setText(getResources().getString(R.string.list_no_more));
|
}
|
}
|
}
|
});
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
case R.id.iv_slid_top:
|
rv_share_explosions_list.getLayoutManager().scrollToPosition(0);
|
break;
|
}
|
}
|
}
|