package com.tejia.lijin.app.ui.jdSpecial;
|
|
import android.content.Intent;
|
import android.os.Bundle;
|
import android.provider.Settings;
|
import androidx.viewpager.widget.ViewPager;
|
import android.view.View;
|
import android.widget.LinearLayout;
|
import android.widget.RelativeLayout;
|
import android.widget.TextView;
|
import android.widget.Toast;
|
|
import com.app.hubert.guide.util.ScreenUtils;
|
import com.viewpagerindicator.TabPageIndicator;
|
import com.wpc.library.util.NetUtils;
|
import com.tejia.lijin.app.R;
|
import com.tejia.lijin.app.contract.JdSpecialContract;
|
import com.tejia.lijin.app.entity.HotSearch;
|
import com.tejia.lijin.app.presenter.JdSpeciaPresenter;
|
import com.tejia.lijin.app.ui.dialog.ShapeLoadingDialog;
|
import com.tejia.lijin.app.util.TopStatusSettings;
|
import com.tejia.lijin.app.util.user.UserUtil;
|
import com.tejia.lijin.app.view.BaseActivity;
|
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
|
/**
|
* 京东 专题activity
|
*/
|
public class JdSpecialActivity extends BaseActivity<JdSpecialContract.JdSpecialView, JdSpeciaPresenter>
|
implements JdSpecialContract.JdSpecialView, View.OnClickListener {
|
private TextView tv_middle, tv_top_bar_left, tv_top_bar_right;
|
private TabPageIndicator jdspecial_tab;
|
private ViewPager jdspecial_viewpage;
|
private JdSpecialAdapter adapter;
|
private ArrayList<HotSearch> mlist = new ArrayList<>();//返回的 数据
|
private LinearLayout ll_no_net, ll_no_data, ll_request_failture;
|
private ShapeLoadingDialog pd = null;//缓冲
|
|
@Override
|
protected void initActivityView(Bundle savedInstanceState) {
|
setContentView(R.layout.activity_jdspecial);
|
}
|
|
@Override
|
protected void findViewById() {
|
setTheme(R.style.AppTabTheme1);
|
TopStatusSettings.setStatusViewAndDeepColor(this);
|
tv_middle = findViewById(R.id.tv_top_bar_middle);
|
tv_top_bar_left = findViewById(R.id.tv_top_bar_left);
|
jdspecial_tab = findViewById(R.id.jdspecial_tab);
|
jdspecial_viewpage = findViewById(R.id.jdspecial_viewpage);
|
//无数据 无网络 网络异常
|
ll_no_net = findViewById(R.id.ll_no_net);
|
ll_no_data = findViewById(R.id.ll_no_data);
|
ll_request_failture = findViewById(R.id.ll_request_failture);
|
tv_top_bar_right = findViewById(R.id.tv_top_bar_right);
|
|
tv_middle.setText("京东精选");
|
tv_top_bar_right.setVisibility(View.VISIBLE);
|
tv_top_bar_right.setText("去京东");
|
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) tv_top_bar_right.getLayoutParams();
|
lp.rightMargin = ScreenUtils.dp2px(this, 10);
|
tv_top_bar_right.setLayoutParams(lp);
|
tv_top_bar_left.setOnClickListener(this);
|
tv_top_bar_right.setOnClickListener(this);
|
findViewById(R.id.tv_net_setting).setOnClickListener(this);
|
findViewById(R.id.tv_refresh).setOnClickListener(this);
|
adapter = new JdSpecialAdapter(getSupportFragmentManager(), mlist);//初始化 Adapter
|
jdspecial_viewpage.setAdapter(adapter);//设置 Adapter、
|
jdspecial_tab.setViewPager(jdspecial_viewpage);// TabPageIndicator顶部导航栏设置
|
pd = new ShapeLoadingDialog.Builder(mContext).build();
|
}
|
|
@Override
|
protected JdSpeciaPresenter createPresenter() {
|
return new JdSpeciaPresenter(this);
|
}
|
|
/**
|
* 请求网络数据
|
*/
|
@Override
|
protected void getData() {
|
mPresenter.waitinquire(pd);//打开缓冲
|
mPresenter.getjdClass();
|
}
|
|
/**
|
* 返回数据
|
*
|
* @param list
|
* @param obj
|
*/
|
@Override
|
public void onSearchSuccess(ArrayList<HotSearch> list, JSONObject obj) {
|
mlist.clear();
|
mPresenter.dpdismiss(pd);
|
mlist.addAll(list);
|
//刷新 数据
|
adapter.notifyDataSetChanged();
|
jdspecial_tab.notifyDataSetChanged();
|
jdLink = obj.optJSONObject("data").optString("jdLink");//京东网址
|
mPresenter.requestState(0, jdspecial_viewpage, ll_no_data, ll_request_failture, ll_no_net);
|
}
|
|
private String jdLink = "https://www.jd.com/";//京东网址
|
|
/**
|
* 请求数据失败
|
*
|
* @param errorInfo
|
*/
|
@Override
|
public void onSearchFail(String errorInfo) {
|
mPresenter.dpdismiss(pd);
|
if (mlist.size() == 0) {
|
if (NetUtils.getNetworkState(tv_middle.getContext()).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
mPresenter.requestState(3, jdspecial_viewpage, ll_no_data, ll_request_failture, ll_no_net);
|
} else {
|
mPresenter.requestState(2, jdspecial_viewpage, ll_no_data, ll_request_failture, ll_no_net);
|
}
|
} else {
|
if (NetUtils.getNetworkState(tv_middle.getContext()).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
Toast.makeText(tv_middle.getContext(), "网络未连接,请检测网络设置", Toast.LENGTH_SHORT).show();
|
} else {
|
Toast.makeText(tv_middle.getContext(), "网络连接异常,请检测网络设置", Toast.LENGTH_SHORT).show();
|
}
|
}
|
}
|
|
int clickState = 0;
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left:
|
finish();
|
break;
|
case R.id.tv_net_setting:
|
startActivity(new Intent(Settings.ACTION_SETTINGS));
|
break;
|
case R.id.tv_refresh:
|
startActivity(new Intent(Settings.ACTION_SETTINGS));
|
break;
|
case R.id.tv_top_bar_right://去京东
|
if (!mPresenter.isLogin()) {//登录
|
// loginHint();
|
clickState = 13;
|
UserUtil.jumpLogin(this);
|
} else {
|
if (jdLink != null && !jdLink.equals("")) {
|
mPresenter.isJdJump(jdLink);//去京东
|
}
|
}
|
break;
|
default:
|
break;
|
}
|
}
|
|
@Override
|
protected void onResume() {
|
super.onResume();
|
if (clickState == 13) {
|
clickState = 0;
|
if (mPresenter.isLogin()) {//登录
|
mPresenter.isJdJump(jdLink);//去京东
|
}
|
}
|
tv_middle.postDelayed(new Runnable() {
|
@Override
|
public void run() {
|
if (mlist.size() == 0) {
|
mPresenter.waitinquire(pd);//打开缓冲
|
mPresenter.getjdClass();
|
}
|
}
|
}, 400);
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
mPresenter.dpdismiss(pd);
|
}
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
if (mPresenter != null) {
|
mPresenter.dpdismiss(pd);
|
}
|
pd = null;
|
jdspecial_tab = null;
|
jdspecial_viewpage = null;
|
adapter = null;
|
mlist = null;
|
}
|
}
|