package com.haicaojie.android.ui.recommend;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.graphics.Typeface;
|
import android.graphics.drawable.Drawable;
|
import android.os.Build;
|
import android.os.Bundle;
|
import android.provider.Settings;
|
import android.support.v4.widget.DrawerLayout;
|
import android.support.v4.widget.SwipeRefreshLayout;
|
import android.support.v7.widget.DefaultItemAnimator;
|
import android.support.v7.widget.GridLayoutManager;
|
import android.support.v7.widget.LinearLayoutManager;
|
import android.support.v7.widget.RecyclerView;
|
import android.text.Editable;
|
import android.text.TextUtils;
|
import android.text.TextWatcher;
|
import android.view.Gravity;
|
import android.view.KeyEvent;
|
import android.view.LayoutInflater;
|
import android.view.MotionEvent;
|
import android.view.View;
|
import android.view.Window;
|
import android.view.WindowManager;
|
import android.view.inputmethod.InputMethodManager;
|
import android.widget.AdapterView;
|
import android.widget.ArrayAdapter;
|
import android.widget.AutoCompleteTextView;
|
import android.widget.EditText;
|
import android.widget.FrameLayout;
|
import android.widget.ImageView;
|
import android.widget.LinearLayout;
|
import android.widget.ListView;
|
import android.widget.TextView;
|
|
import com.google.gson.Gson;
|
import com.google.gson.GsonBuilder;
|
import com.google.gson.reflect.TypeToken;
|
import com.haicaojie.android.BasicTextHttpResponseHandler;
|
import com.haicaojie.android.R;
|
import com.haicaojie.android.ShoppingApi;
|
import com.haicaojie.android.entity.Filter;
|
import com.haicaojie.android.entity.TaoBaoGoodsBrief;
|
import com.haicaojie.android.ui.BaseActivity;
|
import com.lcjian.library.content.ConnectivityChangeHelper;
|
import com.lcjian.library.recyclerview.DividerItemDecoration;
|
import com.lcjian.library.util.NetUtils;
|
import com.lcjian.library.util.SingleToast;
|
import com.lcjian.library.util.common.DimenUtils;
|
import com.lcjian.library.util.common.StringUtils;
|
|
import org.apache.http.Header;
|
import org.json.JSONArray;
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
/**
|
* Created by weikou2015 on 2017/2/21.
|
* 搜索结果
|
*/
|
|
public class SearchResultActivity extends BaseActivity implements View.OnClickListener {
|
private SwipeRefreshLayout rl_search;
|
private RecyclerView rv_search;
|
// private RecommendGVAdapter adapter;
|
private SearchResultAdapter adapter;
|
|
private TextView tv_loading;
|
private TextView tv_back;
|
private AutoCompleteTextView et_search;
|
private TextView tv_search;
|
private FrameLayout fl_sale_num;
|
private TextView tv_sale_num;
|
private LinearLayout ll_price;
|
private TextView tv_price;
|
private FrameLayout fl_filter;
|
private ImageView iv_price;
|
private DrawerLayout dl_sliding;//侧滑
|
private ListView lv_filter;//筛选
|
private FilterAdapter filterAdapter;
|
private List<Filter> filterList = new ArrayList<>();
|
private EditText et_private_min;
|
private EditText et_private_max;
|
private FrameLayout fl_like_num;
|
private TextView tv_like_num;
|
private FrameLayout fl_default;
|
private TextView tv_default;
|
private FrameLayout fl_coupon;
|
private TextView tv_coupon;
|
private FrameLayout fl_free_shipping;
|
private TextView tv_free_shipping;
|
private FrameLayout fl_tmall;
|
private TextView tv_tmall;
|
private LinearLayout ll_confirm;
|
|
private EditText et_low_price;
|
private EditText et_high_price;
|
private ImageView iv_slid_top;
|
private ConnectivityChangeHelper mChangeHelper;
|
private LinearLayout ll_no_net, ll_no_data, ll_request_failture;
|
private FrameLayout fl_search_result;
|
private boolean isCoupon = false;
|
private boolean isCopy = false;
|
private boolean upLoad = false;
|
|
@Override
|
protected void onCreate(Bundle savedInstanceState) {
|
super.onCreate(savedInstanceState);
|
setContentView(R.layout.activity_search_result);
|
/*
|
* 计算状态栏高度并设置
|
*/
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
Window window = getWindow();
|
window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
|
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
|
int result = 0;
|
int resourceId = getResources().getIdentifier("status_bar_height",
|
"dimen", "android");
|
if (resourceId > 0) {
|
result = getResources().getDimensionPixelSize(resourceId);
|
}
|
//设置状态栏文字颜色及图标为深色
|
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
|
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,
|
result);
|
findViewById(R.id.v_status_bar).setLayoutParams(params);
|
findViewById(R.id.v_status_bar1).setLayoutParams(params);
|
} else {
|
findViewById(R.id.v_status_bar).setVisibility(View.GONE);
|
findViewById(R.id.v_status_bar1).setVisibility(View.GONE);
|
}
|
ll_no_net = (LinearLayout) findViewById(R.id.ll_no_net);
|
ll_no_data = (LinearLayout) findViewById(R.id.ll_no_data);
|
ll_request_failture = (LinearLayout) findViewById(R.id.ll_request_failture);
|
fl_search_result = (FrameLayout) findViewById(R.id.fl_search_result);
|
fl_like_num = (FrameLayout) findViewById(R.id.fl_like_num);
|
tv_like_num = (TextView) findViewById(R.id.tv_like_num);
|
fl_default = (FrameLayout) findViewById(R.id.fl_default);
|
tv_default = (TextView) findViewById(R.id.tv_default);
|
fl_coupon = (FrameLayout) findViewById(R.id.fl_coupon);
|
tv_coupon = (TextView) findViewById(R.id.tv_coupon);
|
fl_free_shipping = (FrameLayout) findViewById(R.id.fl_free_shipping);
|
tv_free_shipping = (TextView) findViewById(R.id.tv_free_shipping);
|
fl_tmall = (FrameLayout) findViewById(R.id.fl_tmall);
|
tv_tmall = (TextView) findViewById(R.id.tv_tmall);
|
tv_default.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
tv_coupon.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
tv_free_shipping.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
tv_tmall.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
|
et_low_price = (EditText) findViewById(R.id.et_low_price);
|
et_high_price = (EditText) findViewById(R.id.et_high_price);
|
ll_confirm = (LinearLayout) findViewById(R.id.ll_confirm);
|
rl_search = (SwipeRefreshLayout) findViewById(R.id.rl_search);
|
tv_back = (TextView) findViewById(R.id.tv_search_result_back);
|
et_search = (AutoCompleteTextView) findViewById(R.id.et_search_result);
|
tv_search = (TextView) findViewById(R.id.tv_search_result);
|
fl_sale_num = (FrameLayout) findViewById(R.id.fl_sale_num);
|
tv_sale_num = (TextView) findViewById(R.id.tv_sale_num);
|
ll_price = (LinearLayout) findViewById(R.id.ll_price);
|
tv_price = (TextView) findViewById(R.id.tv_price);
|
fl_filter = (FrameLayout) findViewById(R.id.fl_filter);
|
iv_price = (ImageView) findViewById(R.id.iv_sort);
|
dl_sliding = (DrawerLayout) findViewById(R.id.dl_sliding);
|
lv_filter = (ListView) findViewById(R.id.lv_filter);
|
tv_loading = (TextView) findViewById(R.id.tv_loading);
|
tv_loading.setVisibility(View.GONE);
|
View fHeader = LayoutInflater.from(this).inflate(R.layout.item_price_section, null);
|
et_private_max = (EditText) fHeader.findViewById(R.id.et_max_price);
|
et_private_min = (EditText) fHeader.findViewById(R.id.et_min_price);
|
lv_filter.addHeaderView(fHeader);
|
iv_slid_top = (ImageView) findViewById(R.id.iv_slid_top);
|
|
iv_slid_top.setOnClickListener(this);
|
tv_back.setOnClickListener(this);
|
tv_search.setOnClickListener(this);
|
fl_sale_num.setOnClickListener(this);
|
fl_filter.setOnClickListener(this);
|
ll_price.setOnClickListener(this);
|
fl_like_num.setOnClickListener(this);
|
fl_default.setOnClickListener(this);
|
fl_coupon.setOnClickListener(this);
|
fl_free_shipping.setOnClickListener(this);
|
fl_tmall.setOnClickListener(this);
|
ll_confirm.setOnClickListener(this);
|
findViewById(R.id.tv_resetting).setOnClickListener(this);
|
findViewById(R.id.tv_confirm).setOnClickListener(this);
|
findViewById(R.id.iv_net_setting).setOnClickListener(this);
|
|
mChangeHelper = new ConnectivityChangeHelper(this,
|
new ConnectivityChangeHelper.OnConnectivityChangeListener() {
|
|
@Override
|
public void onNetworkUnAvailable() {
|
}
|
|
@Override
|
public void onNetworkAvailable() {
|
requestState(0);
|
if (wList.size() == 0) {
|
setData(page);
|
}
|
}
|
});
|
|
filterAdapter = new FilterAdapter(this, filterList);
|
lv_filter.setAdapter(filterAdapter);
|
// adapter = new RecommendGVAdapter(this, wList);
|
adapter = new SearchResultAdapter(this, wList, true);
|
tv_sale_num.setTextColor(getResources().getColor(R.color.main_text_color));
|
if (getIntent().getStringExtra("type").equalsIgnoreCase("normal")) {
|
isCoupon = false;
|
tv_default.setTextColor(getResources().getColor(R.color.main_text_color));
|
} else {
|
fl_default.setVisibility(View.GONE);
|
tv_coupon.setTextColor(getResources().getColor(R.color.main_text_color));
|
fastFillters.add("quantype");
|
isCoupon = true;
|
}
|
|
findViewById(R.id.ll_price_input).setVisibility(View.GONE);
|
|
kw = getIntent().getStringExtra("content");
|
et_search.setText(kw);
|
if (!StringUtils.isEmpty(kw))
|
et_search.setSelection(kw.length());
|
rl_search.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
|
@Override
|
public void onRefresh() {
|
page = 0;
|
rl_search.setRefreshing(true);
|
setData(page);
|
}
|
});
|
rv_search = (RecyclerView) findViewById(R.id.gv_search);
|
final GridLayoutManager linearLayoutManager = new GridLayoutManager(this, 2);
|
rv_search.setLayoutManager(linearLayoutManager);
|
rv_search.setItemAnimator(new DefaultItemAnimator());
|
DividerItemDecoration hDivider = new DividerItemDecoration(DividerItemDecoration.HORIZONTAL);
|
DividerItemDecoration vDivider = new DividerItemDecoration(DividerItemDecoration.VERTICAL);
|
hDivider.setColor(0xffeeeeee);
|
hDivider.setSize(DimenUtils.dip2px(this, 2));
|
vDivider.setColor(0xffeeeeee);
|
vDivider.setSize(DimenUtils.dip2px(this, 2));
|
rv_search.addItemDecoration(hDivider);
|
rv_search.addItemDecoration(vDivider);
|
rv_search.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 && wList.size() < count) {
|
page++;
|
setData(page);
|
} else if (wList.size() >= count && last >= wList.size() - 1 && upLoad) {
|
SingleToast.showToast(SearchResultActivity.this, "没有更多了");
|
}
|
} 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) > 10) {
|
if (isPrice) {
|
findViewById(R.id.ll_price_input).setVisibility(View.VISIBLE);
|
} else {
|
findViewById(R.id.ll_price_input).setVisibility(View.GONE);
|
}
|
if (dy > 0) {
|
upLoad = true;
|
findViewById(R.id.iv_slid_top).setVisibility(View.GONE);
|
} else {
|
upLoad = false;
|
findViewById(R.id.iv_slid_top).setVisibility(View.VISIBLE);
|
}
|
}
|
}
|
});
|
|
et_search.addTextChangedListener(new TextWatcher() {
|
@Override
|
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
|
}
|
|
@Override
|
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
|
}
|
|
@Override
|
public void afterTextChanged(Editable s) {
|
if (!TextUtils.isEmpty(s.toString())) {
|
et_search.setHint("");
|
suggestSearch(s.toString());
|
et_search.setCompoundDrawablesWithIntrinsicBounds(0, 0,
|
R.drawable.ic_clear, 0);
|
} else {
|
et_search.setCompoundDrawablesWithIntrinsicBounds(0, 0,
|
0, 0);
|
}
|
}
|
});
|
et_search.setOnTouchListener(new View.OnTouchListener()
|
|
{
|
|
@Override
|
public boolean onTouch(View v, MotionEvent event) {
|
// getCompoundDrawables() 可以获取一个长度为4的数组,
|
// 存放drawableLeft,Right,Top,Bottom四个图片资源对象
|
// index=2 表示的是 drawableRight 图片资源对象
|
Drawable drawable = et_search.getCompoundDrawables()[2];
|
if (drawable == null)
|
return false;
|
|
if (event.getAction() != MotionEvent.ACTION_UP)
|
return false;
|
|
// drawable.getIntrinsicWidth() 获取drawable资源图片呈现的宽度
|
if (event.getX() > et_search.getWidth()
|
- et_search.getPaddingRight()
|
- drawable.getIntrinsicWidth()) {
|
et_search.setText("");
|
et_search.setHint("");
|
}
|
return false;
|
}
|
});
|
et_search.setOnItemClickListener(new AdapterView.OnItemClickListener()
|
|
{
|
@Override
|
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
if (SearchActivity.instance != null)
|
SearchActivity.instance.finish();
|
wList.clear();
|
page = 0;
|
order = 0;
|
filter = "";
|
if (!kw.equalsIgnoreCase(parent.getItemAtPosition(position).toString())) {
|
filterList.clear();
|
}
|
findViewById(R.id.ll_price_input).setVisibility(View.GONE);
|
kw = parent.getItemAtPosition(position).toString();
|
iv_price.setImageResource(R.mipmap.ic_sort_no_selected);
|
tv_sale_num.setTextColor(getResources().getColor(R.color.black));
|
tv_price.setTextColor(getResources().getColor(R.color.black));
|
tv_free_shipping.setTextColor(getResources().getColor(R.color.gray));
|
tv_tmall.setTextColor(getResources().getColor(R.color.gray));
|
if (isCoupon) {
|
fl_default.setVisibility(View.GONE);
|
// tv_default.setTextColor(getResources().getColor(R.color.main_text_color));
|
tv_coupon.setTextColor(getResources().getColor(R.color.main_text_color));
|
} else {
|
tv_default.setTextColor(getResources().getColor(R.color.main_text_color));
|
tv_coupon.setTextColor(getResources().getColor(R.color.gray));
|
}
|
tv_like_num.setTextColor(getResources().getColor(R.color.black));
|
tv_price.setTextColor(getResources().getColor(R.color.black));
|
tv_sale_num.setTextColor(getResources().getColor(R.color.main_text_color));
|
ll_price.setVisibility(View.GONE);
|
rl_search.setRefreshing(true);
|
setData(page);
|
}
|
});
|
et_search.setOnEditorActionListener(new TextView.OnEditorActionListener() {
|
@Override
|
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
|
if (StringUtils.isEmpty(et_search.getText().toString())) {
|
SingleToast.showToast(SearchResultActivity.this, "请输入搜索内容!");
|
} else {
|
if (SearchActivity.instance != null)
|
SearchActivity.instance.finish();
|
wList.clear();
|
adapter.notifyDataSetChanged();
|
rv_search.setFocusable(true);
|
filterAdapter.filters.clear();
|
filterAdapter.notifyDataSetChanged();
|
min = "";
|
max = "";
|
page = 0;
|
order = 0;
|
filter = "";
|
if (!kw.equalsIgnoreCase(et_search.getText().toString())) {
|
filterList.clear();
|
}
|
kw = et_search.getText().toString();
|
|
findViewById(R.id.ll_price_input).setVisibility(View.GONE);
|
iv_price.setImageResource(R.mipmap.ic_sort_no_selected);
|
tv_sale_num.setTextColor(getResources().getColor(R.color.black));
|
tv_price.setTextColor(getResources().getColor(R.color.black));
|
tv_free_shipping.setTextColor(getResources().getColor(R.color.gray));
|
tv_tmall.setTextColor(getResources().getColor(R.color.gray));
|
if (isCoupon) {
|
// tv_default.setTextColor(getResources().getColor(R.color.gray));
|
fl_default.setVisibility(View.GONE);
|
tv_coupon.setTextColor(getResources().getColor(R.color.main_text_color));
|
} else {
|
tv_default.setTextColor(getResources().getColor(R.color.main_text_color));
|
tv_coupon.setTextColor(getResources().getColor(R.color.gray));
|
}
|
tv_like_num.setTextColor(getResources().getColor(R.color.black));
|
tv_price.setTextColor(getResources().getColor(R.color.black));
|
tv_sale_num.setTextColor(getResources().getColor(R.color.main_text_color));
|
rl_search.setRefreshing(true);
|
|
et_search.dismissDropDown();
|
|
setData(page);
|
}
|
return false;
|
}
|
});
|
rl_search.setRefreshing(true);
|
|
if (getIntent().getStringExtra("link") == null) {
|
isCopy = false;
|
} else {
|
isCopy = true;
|
}
|
|
setData(page);
|
rv_search.setAdapter(adapter);
|
}
|
|
@Override
|
protected void onResume() {
|
super.onResume();
|
mChangeHelper.registerReceiver();
|
}
|
|
@Override
|
protected void onPause() {
|
super.onPause();
|
mChangeHelper.unregisterReceiver();
|
}
|
|
List<TaoBaoGoodsBrief> wList = new ArrayList<>();
|
private int page = 0;
|
private int order = 1;
|
String kw = "";
|
String filter = "";
|
|
private void suggestSearch(String key) {
|
ShoppingApi.getSuggestSearch(this, key, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
List<String> list = gson.fromJson(
|
jsonObject.optJSONArray("data").toString(),
|
new TypeToken<List<String>>() {
|
}.getType());
|
ArrayAdapter<String> sAdapter = new ArrayAdapter<>(SearchResultActivity.this,
|
android.R.layout.simple_list_item_1,
|
list);
|
et_search.setAdapter(sAdapter);
|
adapter.notifyDataSetChanged();
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
}
|
});
|
}
|
|
String min = "";
|
String max = "";
|
|
List<String> fastFillters = new ArrayList<>();
|
|
public String getFastFilter() {
|
JSONArray array = new JSONArray();
|
JSONObject obj = null;
|
for (int i = 0; i < fastFillters.size(); i++) {
|
try {
|
obj = new JSONObject();
|
obj.put("type", fastFillters.get(i));
|
array.put(obj);
|
} catch (JSONException e) {
|
e.printStackTrace();
|
}
|
|
}
|
return array.toString();
|
}
|
|
|
private int count = 9999;
|
|
private void setData(final int mPage) {
|
ShoppingApi.search(SearchResultActivity.this, isCopy ? getIntent().getStringExtra("link") : kw.trim(), page + "", filterAdapter.getFilter(), getFastFilter(), order + "", min, max, new BasicTextHttpResponseHandler() {
|
@Override
|
public void onStart() {
|
super.onStart();
|
isCopy = false;
|
if (page > 0) {
|
tv_loading.setVisibility(View.VISIBLE);
|
} else {
|
tv_loading.setVisibility(View.GONE);
|
}
|
}
|
|
@Override
|
public void onSuccessPerfect(int statusCode, Header[] headers, JSONObject jsonObject) throws Exception {
|
if (jsonObject.optString("code").equalsIgnoreCase("0")) {
|
Gson gson = new GsonBuilder().serializeNulls().create();
|
List<TaoBaoGoodsBrief> list = gson.fromJson(jsonObject.optJSONObject("data").optJSONArray("result").toString(), new TypeToken<List<TaoBaoGoodsBrief>>() {
|
}.getType());
|
if (mPage == 0 && wList.size() > 0)
|
wList.clear();
|
wList.addAll(list);
|
adapter.notifyDataSetChanged();
|
|
List<Filter> fList = gson.fromJson(jsonObject.optJSONObject("data").optJSONArray("nav").toString(), new TypeToken<List<Filter>>() {
|
}.getType());
|
filterList.clear();
|
if (fList.size() > 0) {
|
filterList.addAll(fList);
|
filterAdapter.notifyDataSetChanged();
|
}
|
count = Integer.parseInt(jsonObject.optJSONObject("data").optString("count"));
|
|
if (wList.size() == 0) {
|
ll_no_data.setVisibility(View.VISIBLE);
|
rv_search.setVisibility(View.GONE);
|
} else {
|
ll_no_data.setVisibility(View.GONE);
|
rv_search.setVisibility(View.VISIBLE);
|
}
|
ll_no_net.setVisibility(View.GONE);
|
requestState(wList.size() == 0 ? 1 : 0);
|
} else {
|
if (wList.size() == 0)
|
requestState(2);
|
}
|
}
|
|
@Override
|
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable
|
throwable) {
|
super.onFailure(statusCode, headers, responseString, throwable);
|
if (wList.size() == 0) {
|
if (NetUtils.getNetworkState(SearchResultActivity.this).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
requestState(3);
|
} else {
|
requestState(2);
|
}
|
} else {
|
if (NetUtils.getNetworkState(SearchResultActivity.this).equalsIgnoreCase(NetUtils.NETWORK_NONE)) {
|
SingleToast.showToast(SearchResultActivity.this, "网络未连接,请检测网络设置");
|
} else {
|
SingleToast.showToast(SearchResultActivity.this, "网络连接异常,请检测网络设置");
|
}
|
}
|
|
}
|
|
@Override
|
public void onFinish() {
|
super.onFinish();
|
rl_search.setRefreshing(false);
|
tv_loading.setVisibility(View.GONE);
|
}
|
});
|
|
}
|
|
private boolean isDown = false;
|
private boolean isPrice = false;
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_search_result_back:
|
finish();
|
break;
|
case R.id.tv_search_result:
|
if (StringUtils.isEmpty(et_search.getText().toString())) {
|
SingleToast.showToast(SearchResultActivity.this, "请输入搜索内容!");
|
} else {
|
et_search.dismissDropDown();
|
if (SearchActivity.instance != null)
|
SearchActivity.instance.finish();
|
wList.clear();
|
adapter.notifyDataSetChanged();
|
rv_search.setFocusable(true);
|
filterAdapter.filters.clear();
|
filterAdapter.notifyDataSetChanged();
|
tv_sale_num.setTextColor(getResources().getColor(R.color.main_text_color));
|
min = "";
|
max = "";
|
page = 0;
|
order = 0;
|
filter = "";
|
if (!kw.equalsIgnoreCase(et_search.getText().toString())) {
|
filterList.clear();
|
}
|
kw = et_search.getText().toString();
|
iv_price.setImageResource(R.mipmap.ic_sort_no_selected);
|
tv_like_num.setTextColor(getResources().getColor(R.color.black));
|
tv_price.setTextColor(getResources().getColor(R.color.black));
|
tv_free_shipping.setTextColor(getResources().getColor(R.color.gray));
|
tv_tmall.setTextColor(getResources().getColor(R.color.gray));
|
if (isCoupon) {
|
fl_default.setVisibility(View.GONE);
|
tv_coupon.setTextColor(getResources().getColor(R.color.main_text_color));
|
} else {
|
tv_default.setTextColor(getResources().getColor(R.color.main_text_color));
|
tv_coupon.setTextColor(getResources().getColor(R.color.gray));
|
}
|
tv_sale_num.setTextColor(getResources().getColor(R.color.black));
|
tv_price.setTextColor(getResources().getColor(R.color.black));
|
rl_search.setRefreshing(true);
|
setData(page);
|
}
|
break;
|
case R.id.fl_sale_num:
|
findViewById(R.id.ll_price_input).setVisibility(View.GONE);
|
isPrice = false;
|
wList.clear();
|
adapter.notifyDataSetChanged();
|
order = 1;
|
page = 0;
|
isDown = false;
|
iv_price.setImageResource(R.mipmap.ic_sort_no_selected);
|
tv_sale_num.setTextColor(getResources().getColor(R.color.main_text_color));
|
tv_price.setTextColor(getResources().getColor(R.color.black));
|
tv_like_num.setTextColor(getResources().getColor(R.color.black));
|
rl_search.setRefreshing(true);
|
setData(page);
|
break;
|
case R.id.fl_default:
|
fastFillters.clear();
|
isPrice = false;
|
order = 1;
|
page = 0;
|
isDown = false;
|
tv_coupon.setTextColor(getResources().getColor(R.color.gray));
|
tv_free_shipping.setTextColor(getResources().getColor(R.color.gray));
|
tv_tmall.setTextColor(getResources().getColor(R.color.gray));
|
tv_default.setTextColor(getResources().getColor(R.color.main_text_color));
|
rl_search.setRefreshing(true);
|
setData(page);
|
break;
|
case R.id.fl_coupon:
|
tv_default.setTextColor(getResources().getColor(R.color.gray));
|
isPrice = false;
|
page = 0;
|
isDown = false;
|
if (fastFillters.contains("quantype")) {
|
if (!isCoupon) {
|
fastFillters.remove("quantype");
|
tv_coupon.setTextColor(getResources().getColor(R.color.gray));
|
}
|
} else {
|
fastFillters.add("quantype");
|
tv_coupon.setTextColor(getResources().getColor(R.color.main_text_color));
|
}
|
|
rl_search.setRefreshing(true);
|
setData(page);
|
break;
|
case R.id.fl_free_shipping:
|
tv_default.setTextColor(getResources().getColor(R.color.gray));
|
isPrice = false;
|
page = 0;
|
isDown = false;
|
if (fastFillters.contains("baoyou")) {
|
fastFillters.remove("baoyou");
|
tv_free_shipping.setTextColor(getResources().getColor(R.color.gray));
|
} else {
|
fastFillters.add("baoyou");
|
tv_free_shipping.setTextColor(getResources().getColor(R.color.main_text_color));
|
|
}
|
rl_search.setRefreshing(true);
|
setData(page);
|
break;
|
case R.id.fl_tmall:
|
tv_default.setTextColor(getResources().getColor(R.color.gray));
|
isPrice = false;
|
page = 0;
|
isDown = false;
|
if (fastFillters.contains("userType")) {
|
fastFillters.remove("userType");
|
tv_tmall.setTextColor(getResources().getColor(R.color.gray));
|
} else {
|
fastFillters.add("userType");
|
tv_tmall.setTextColor(getResources().getColor(R.color.main_text_color));
|
|
}
|
rl_search.setRefreshing(true);
|
setData(page);
|
break;
|
case R.id.fl_like_num:
|
findViewById(R.id.ll_price_input).setVisibility(View.GONE);
|
isPrice = false;
|
wList.clear();
|
adapter.notifyDataSetChanged();
|
order = 0;
|
page = 0;
|
isDown = false;
|
iv_price.setImageResource(R.mipmap.ic_sort_no_selected);
|
tv_like_num.setTextColor(getResources().getColor(R.color.main_text_color));
|
tv_sale_num.setTextColor(getResources().getColor(R.color.black));
|
tv_price.setTextColor(getResources().getColor(R.color.black));
|
rl_search.setRefreshing(true);
|
setData(page);
|
break;
|
case R.id.ll_price:
|
isPrice = true;
|
findViewById(R.id.ll_price_input).setVisibility(View.VISIBLE);
|
|
wList.clear();
|
adapter.notifyDataSetChanged();
|
page = 0;
|
if (isDown) {
|
order = 2;
|
iv_price.setImageResource(R.mipmap.ic_grade_down);
|
} else {
|
order = 3;
|
iv_price.setImageResource(R.mipmap.ic_sort_ascending);
|
}
|
isDown = !isDown;
|
tv_sale_num.setTextColor(getResources().getColor(R.color.black));
|
tv_like_num.setTextColor(getResources().getColor(R.color.black));
|
tv_price.setTextColor(getResources().getColor(R.color.main_text_color));
|
rl_search.setRefreshing(true);
|
setData(page);
|
break;
|
case R.id.fl_filter:
|
dl_sliding.openDrawer(Gravity.RIGHT);
|
break;
|
case R.id.tv_resetting:
|
et_private_min.setText("");
|
et_private_max.setText("");
|
max = "";
|
min = "";
|
filterAdapter.filters.clear();
|
filterAdapter.notifyDataSetChanged();
|
break;
|
case R.id.tv_confirm:
|
wList.clear();
|
adapter.notifyDataSetChanged();
|
if ((!StringUtils.isEmpty(et_private_min.getText().toString())) && (!StringUtils.isEmpty(et_private_max.getText().toString())) && Float.parseFloat(et_private_min.getText().toString()) > Float.parseFloat(et_private_max.getText().toString())) {
|
String min = et_private_min.getText().toString();
|
et_private_min.setText(et_private_max.getText().toString());
|
et_private_max.setText(min);
|
}
|
min = et_private_min.getText().toString();
|
max = et_private_max.getText().toString();
|
page = 0;
|
dl_sliding.closeDrawer(Gravity.RIGHT);
|
filter = filterAdapter.getFilter();
|
rl_search.setRefreshing(true);
|
setData(page);
|
break;
|
case R.id.ll_confirm:
|
if ((!StringUtils.isEmpty(et_low_price.getText().toString())) && (!StringUtils.isEmpty(et_high_price.getText().toString())) && Float.parseFloat(et_low_price.getText().toString()) > Float.parseFloat(et_high_price.getText().toString())) {
|
String min = et_low_price.getText().toString();
|
et_low_price.setText(et_high_price.getText().toString());
|
et_high_price.setText(min);
|
}
|
min = et_low_price.getText().toString();
|
max = et_high_price.getText().toString();
|
isPrice = false;
|
page = 0;
|
rl_search.setRefreshing(true);
|
setData(page);
|
break;
|
case R.id.iv_slid_top:
|
rv_search.getLayoutManager().scrollToPosition(0);
|
break;
|
case R.id.iv_net_setting:
|
startActivity(new Intent(Settings.ACTION_SETTINGS));
|
break;
|
}
|
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
if (imm != null) {
|
imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(),
|
0);
|
}
|
}
|
|
/**
|
* 判断软键盘是否弹出
|
*/
|
private boolean isShowKeyboard(Context context, View v) {
|
InputMethodManager imm = (InputMethodManager) context.getSystemService(context.INPUT_METHOD_SERVICE);
|
if (imm.hideSoftInputFromWindow(v.getWindowToken(), 0)) {
|
imm.showSoftInput(v, 0);
|
return true;
|
//软键盘已弹出
|
} else {
|
return false;
|
//软键盘未弹出
|
}
|
}
|
|
/**
|
* 请求状态 0 数据正常展示;1 返回数据为空;2 网络请求失败;3 没有连接网络
|
*
|
* @param state
|
*/
|
private void requestState(int state) {
|
fl_search_result.setVisibility(state == 0 ? View.VISIBLE : View.GONE);
|
ll_no_data.setVisibility(state == 1 ? View.VISIBLE : View.GONE);
|
ll_request_failture.setVisibility(state == 2 ? View.VISIBLE : View.GONE);
|
ll_no_net.setVisibility(state == 3 ? View.VISIBLE : View.GONE);
|
}
|
}
|