package com.luxji.auction.app; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Matrix; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.PaintDrawable; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; import android.text.TextWatcher; import android.util.DisplayMetrics; import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.EditorInfo; import android.widget.AbsListView; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.HorizontalScrollView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.PopupWindow; import android.widget.RadioButton; import android.widget.ScrollView; import android.widget.TextView; import android.widget.Toast; import com.android.volley.Request; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.google.gson.Gson; import com.luxji.auction.R; import com.luxji.auction.adapter.GoodsListAdapter; import com.luxji.auction.base.BaseActivity; import com.luxji.auction.base.BaseApplication; import com.luxji.auction.model.GoodsInfo; import com.luxji.auction.model.GoodsSearchResult; import com.luxji.auction.model.MaintenanceResult; import com.luxji.auction.util.Constant; import com.luxji.auction.util.SharedPreferencesUtil; import com.luxji.auction.widget.LoadFailView; import com.luxji.auction.widget.MyListView; import com.luxji.auction.widget.NetWorkView; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.LinkedList; import java.util.Map; /** * Created by Clare on 2016/6/28. * Emali 87129416@qq.com */ public class GoodsSearchActivity extends BaseActivity { public static String CATID = "id"; public static String CATNAME = "cat_name"; //筛选条件菜单 // private SlidingMenu mSlidingMenu; //搜索按钮 private TextView searchTextView; //返回按钮 private LinearLayout backLayout; //搜索文本框 private EditText searchEditText; private ImageView deleteImageview; //品牌 private TextView brandTextView; private ListView brandListView; private ListView serialListView; private int screenHeight=0; private int screenWidth=0; private LinkedList<String> brands; private LinkedList<String> serials; private ArrayAdapter<String> brandAdapter; private ArrayAdapter<String> serialAdapter; // private SupperLayout brandSupperLayout; // private SupperLayout serialSupperLayout; private View.OnClickListener mOnClickListener; private View.OnClickListener mSerialOnClickListener; private View.OnClickListener mFilterCityOnClickListener; private View.OnClickListener mFilterSexOnClickListener; private View.OnClickListener mFilterPriceOnClickListener; // private SupperLayout mCitySupperLayout; private FlowRadioGroup mSexRadioGroup; private FlowRadioGroup mPriceRadioGroup; // private SupperLayout mSexSupperLayout; // private SupperLayout mPriceSupperLayout; //价格 private LinearLayout priceLayout; private Boolean isUp = false; //帅选 private TextView filterTextView; //商品列表adapter private GoodsListAdapter goodsListAdapter; //商品数据list private LinkedList<GoodsInfo> goodsInfos; //商品列表控件listview private ListView goodsListView; private int skip = 0; //每次刷新时把最后一行或最上面一行的商品编号传递过去 private String goodsId; private LayoutInflater inflater; private View footView; private LinearLayout loading; private TextView moreTextView; //保存筛选条件 private LinkedList<TextView> selectedList; private LinkedList<TextView> selectedSexList; private LinkedList<TextView> selectedPriceList; private LinkedList<TextView> tempSelectedList = new LinkedList<TextView>(); private LinkedList<TextView> tempSelectedSexList = new LinkedList<TextView>(); private LinkedList<TextView> tempSelectedPriceList = new LinkedList<TextView>(); private Drawable checkedDrawable; private TextView sureTextview; private TextView cancelTextview; //查询条件 private String condition = "" ; //分类id private String mCatId = ""; private String mCatName = ""; //价格排序 private String mPriceSort = "up" ; //查询关键字 private String mKeywords = "" ; //男女或中性 private String mCrowd = "" ; //价格区间 private String mPrice = "" ; //地区 private String mArea = ""; //弹出窗口 private PopupWindow popupWindow; //热词 private HorizontalScrollView horizontalScrollView; private ArrayList<String> hotWordList; //搜索历史列表 private ListView hisListview; //历史数据列表 private ArrayList<String> hisList; // private LinearLayout conditionLayout; private String his; //搜索历史页 private ScrollView searchHisScrollView; //热词点击事件 private View.OnClickListener hotWordOnClickListener; //清除历史按钮 private TextView clearTextView; //历史查询记录adapter private ArrayAdapter<String> mArrayAdapter; // //性别数组 // private String[] sexArr = {"女性√","男性√","中性√"}; // //价格数组 // private String[] priceArr = {"0-5000√","5001-10000√", // "10001-20000√","20001-30000√","30000以上√"}; // //城市 // private String[] cityArr = {"北京√","香港√","上海√","成都√","西安√"}; //popupwindow private View filterContentView; private View brandContentView; private MyListView hotWordListView; private ArrayAdapter<String> hotwordAdapter; private ImageView priceImageview; private Matrix matrix; private Bitmap bitmap; // private NetWorkView noNetworkView; // private LoadFailView loadFailView; // private NoDataView noDataView; private View noDataView;// 无数据时状态 private NetWorkView noNetworkView;// 无网络时状态 private View view; private TextView saveBrandTextView; //新 String externalKeyword;//外部传过来的关键字 int page=1;//分页第几页 int pagesize=10;//每页个数 private LinkedList<GoodsSearchResult.DataBean> mDataInfo = new LinkedList<>();; //商品数据list private RecyclerView recyclerView; private MaintenanceAdatper adapter; public static void oepn(Context context,String value){ Intent intent=new Intent(context,GoodsSearchActivity.class); intent.putExtra("externalKeyword",value); context.startActivity(intent); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search); noNetworkView(); loadFailView(); //控件初始化 initWidget(); initSearchHis(); initScreenWidth(); doInitLoad(); GoodsItemClick(); intBundle(); // initFilterPopupWindow(); // initBrandPopupwindow(); } private void intBundle(){ //得到外部传进来的搜索关键字 Bundle bunlde = getIntent().getExtras(); if(bunlde != null){ externalKeyword = bunlde.getString("externalKeyword"); if(!TextUtils.isEmpty(externalKeyword)){ if (searchEditText!=null){ searchEditText.setText(externalKeyword); } search(getText()); } } } //初始化控件并且设置控件事件 private void initWidget(){ // checkedDrawable = getResources().getDrawable(R.drawable.check_box_true); searchTextView = (TextView)this.findViewById(R.id.search_textview); deleteImageview = (ImageView)this.findViewById(R.id.my_delete); backLayout = (LinearLayout)this.findViewById(R.id.title_back_layout); searchEditText = (EditText)this.findViewById(R.id.search_myedittext); //加载提示控件初始化 inflater = LayoutInflater.from(this); footView = inflater.inflate(R.layout.layout_loading_footer, null); loading = (LinearLayout) footView.findViewById(R.id.loading_layout); moreTextView = (TextView) footView.findViewById(R.id.more_texview); moreTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { autoRefresh(); } }); loading.setVisibility(View.GONE); moreTextView.setVisibility(View.GONE); goodsListView = (ListView)this.findViewById(R.id.goods_listview); goodsListView.addFooterView(footView); goodsInfos = new LinkedList<GoodsInfo>(); goodsListAdapter = new GoodsListAdapter(this,goodsInfos,R.color.common_ff0000); goodsListView.setAdapter(goodsListAdapter); //设置监听,如果滑动到最后一行则进行数据加载 goodsListView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView absListView, int i) { if (i == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) { if (absListView.getLastVisiblePosition() == absListView.getCount() - 1) { autoRefresh(); } } } @Override public void onScroll(AbsListView absListView, int i, int i2, int i3) { } }); popupWindow = new PopupWindow(GoodsSearchActivity.this); //搜索历史页显示 searchHisScrollView = (ScrollView)this.findViewById(R.id.search_his_popupwindow); //遮罩层 view = (View)this.findViewById(R.id.shade_view); // //检索按钮 // searchTextView.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { // search(getText()); // mArrayAdapter.notifyDataSetChanged(); // } // }); //删除键监听,点击删除输入框内容 deleteImageview.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { searchEditText.setText(""); deleteImageview.setVisibility(View.GONE); } }); //输入框内容监听,内容为空,隐藏删除键;反之,显示删除键 searchEditText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { if (s != null && !"".equals(s.toString().trim())) { deleteImageview.setVisibility(View.VISIBLE); searchHisScrollView.setVisibility(View.VISIBLE); view.setVisibility(View.VISIBLE); } else { deleteImageview.setVisibility(View.GONE); searchHisScrollView.setVisibility(View.GONE); view.setVisibility(View.GONE); } } }); //搜索 searchEditText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) { if (i == EditorInfo.IME_ACTION_SEARCH) { search(getText()); mArrayAdapter.notifyDataSetChanged(); } return false; } }); //返回按钮 backLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); // //品牌选项 // brandTextView.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { // brandTextView.setTextColor(getResources().getColor(R.color.common_ff0000)); // showBrandPopupWindow(brandTextView); // } // }); // //价格选项 // matrix = new Matrix(); // bitmap = ((BitmapDrawable) getResources().getDrawable(R.drawable.default_1)).getBitmap(); // priceLayout.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { // if(isUp){ // mPriceSort = "down"; // isUp = false; // rotateImg(180); // }else{ // mPriceSort = "up"; // isUp = true; // rotateImg(180); // } // skip = 0; // doInitLoad(); // } // }); //过滤选项 // filterTextView.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { // //改变字颜色 // filterTextView.setTextColor(getResources().getColor(R.color.common_ff0000)); // showFilterPopupWindow(filterTextView); // } // }); //清除 clearTextView = (TextView)this.findViewById(R.id.his_clear_textview); clearTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //取得搜索历史数据 SharedPreferencesUtil.savePrivateInfoToSharedPreferences(GoodsSearchActivity.this, "searchwordhis",""); hisList.clear(); mArrayAdapter.notifyDataSetChanged(); } }); } //选装图片 private void rotateImg(int rotate){ // 设置旋转角度 matrix.setRotate(rotate); // 重新绘制Bitmap bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(),bitmap.getHeight(), matrix, true); priceImageview.setImageBitmap(bitmap); } //搜索处理 private void search(String keyword){ his = SharedPreferencesUtil.getPrivateInfoFromSharedPreferences(this,"searchwordhis"); mKeywords = keyword; //先转成数组然后再进行比较是否已经保存过,这样比较相对来说准确一些 if(TextUtils.isEmpty(his)){ if(!TextUtils.isEmpty(mKeywords)){ SharedPreferencesUtil.savePrivateInfoToSharedPreferences(GoodsSearchActivity.this, "searchwordhis", mKeywords); hisList.add(mKeywords); } }else{ String[] array; if(!hisList.contains(mKeywords)){ if(!TextUtils.isEmpty(mKeywords)){ String saveStr = ""; if(!TextUtils.isEmpty(his)) saveStr = mKeywords + "," + his; else saveStr = mKeywords; SharedPreferencesUtil.savePrivateInfoToSharedPreferences(GoodsSearchActivity.this, "searchwordhis", saveStr); //因为排序问题所以需要重新再加入list array = saveStr.split(","); hisList.clear(); hisList.addAll(Arrays.asList(array)); } } } searchHisScrollView.setVisibility(View.GONE); view.setVisibility(View.GONE); //搜索 skip = 0; doInitLoad(); } //获得屏幕尺寸 private void initScreenWidth() { DisplayMetrics dm = new DisplayMetrics(); dm = getResources().getDisplayMetrics(); screenHeight = dm.heightPixels; screenWidth = dm.widthPixels; } //获取输入框内容 public String getText() { if (searchEditText == null) { return null; } String text = searchEditText.getText().toString(); return text; // if (!TextUtils.isEmpty(text)){ // if (!"".equals(externalKeyword)&&null!=externalKeyword){ // return externalKeyword; // } // } } //显示搜索历史和热词搜索popupwindow public void initSearchHis() { //得到历史数据 his = SharedPreferencesUtil.getPrivateInfoFromSharedPreferences(this,"searchwordhis"); //搜索历史 hisListview = (ListView)this.findViewById(R.id.his_listview); hisList = new ArrayList<String>(); if (!TextUtils.isEmpty(his)){ String[] hisArray = his.split(","); hisList.addAll(Arrays.asList(hisArray)); } mArrayAdapter = new ArrayAdapter<String>(this,R.layout.search_his_item,hisList); hisListview.setAdapter(mArrayAdapter); //热词横向滚动 /*horizontalScrollView = (HorizontalScrollView)this.findViewById(R.id.hotword_horizontalscrollview); conditionLayout = (LinearLayout)this.findViewById(R.id.condition_layout);*/ /* hotWordOnClickListener = new View.OnClickListener() { @Override public void onClick(View view) { if (TextView.class.isInstance(view)) { //得到品牌对应的系列数据 String keyword = ((TextView) view).getText().toString(); search(keyword); mArrayAdapter.notifyDataSetChanged(); } } };*/ hisListview.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { if (TextView.class.isInstance(view)) { //得到品牌对应的系列数据 String keyword = ((TextView) view).getText().toString(); search(keyword); } } }); hotWordList = new ArrayList<String>(); hotWordListView = (MyListView)this.findViewById(R.id.hotword_listview); hotwordAdapter = new ArrayAdapter<String>(this,R.layout.search_his_item,hotWordList); hotWordListView.setAdapter(hotwordAdapter); hotWordListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { if (TextView.class.isInstance(view)) { //得到品牌对应的系列数据 String keyword = ((TextView) view).getText().toString(); search(keyword); } } }); // doSearchHotWord(); } // //查询热词 // private void doSearchHotWord() { // //检索数据前首先检查网络是否可用 // if(!BaseApplication.getInstance().isNetworkAvailable(this)){ // Toast.makeText(this, getString(R.string.no_network_toast), Toast.LENGTH_SHORT).show(); // return; // } // getStatusTip().showProgress(); // StringRequest postRequest = new StringRequest(Request.Method.POST, Constant.hotWordUrl, // new Response.Listener<String>(){ // @Override // public void onResponse(String response) { // //处理返回结果 // parseWordJson(response); // getStatusTip().hideProgress(); // } // }, // new Response.ErrorListener() { // @Override // public void onErrorResponse(VolleyError error) { // Toast.makeText(GoodsSearchActivity.this,getString(R.string.reload_txt), Toast.LENGTH_SHORT).show(); // getStatusTip().hideProgress(); // } // }); // BaseApplication.mRequestQueue.add(postRequest); // } // //解析json数据 // private void parseWordJson(String json){ // Gson gson = new Gson(); // HotWordResult hotWordResult = gson.fromJson(json, HotWordResult.class); // //有错误信息返回 // if(hotWordResult != null // && "0".equals(hotWordResult.status.succeed)){ // Toast.makeText(GoodsSearchActivity.this,hotWordResult.status.error_desc, Toast.LENGTH_SHORT).show(); // return; // }else{ // if(hotWordResult.data != null&& hotWordResult.data.size() > 0 ){ // hotWordList.addAll(hotWordResult.data); // hotwordAdapter.notifyDataSetChanged(); // /* //成功返回品牌list // int i = 0; // for(String hotword:hotWordList){ // TextView tv = makeHotWordTextView(hotword,i, 16,3, // hotWordOnClickListener); // conditionLayout.addView(tv); // i++; // }*/ // } // } // } // // //显示品牌popupwindow // public void showBrandPopupWindow(View anchor) { // popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { // @Override // public void onDismiss() { // //改变字颜色 // brandTextView.setTextColor(getResources().getColor(R.color.common_666666)); // view.setVisibility(View.GONE); // } // }); // popupWindow.setWidth(screenWidth); // popupWindow.setHeight(screenHeight*2/3); // popupWindow.setContentView(brandContentView); // popupWindow.setFocusable(true); // popupWindow.setOutsideTouchable(true); // popupWindow.setBackgroundDrawable(new PaintDrawable(getResources().getColor(R.color.homepage_bg))); // popupWindow.showAsDropDown(anchor); // view.setVisibility(View.VISIBLE); // } // private void initBrandPopupwindow(){ // brandContentView = LayoutInflater.from(GoodsSearchActivity.this).inflate(R.layout.brand_popupwindow, null); // brandSupperLayout = (SupperLayout) brandContentView.findViewById(R.id.brand_superlayout); // mOnClickListener = new View.OnClickListener() { // @Override // public void onClick(View v) { // if (TextView.class.isInstance(v)) { // //得到品牌对应的系列数据 // getSerial(((TextView) v).getId()); // if(saveBrandTextView != null) saveBrandTextView.setTextColor(getResources().getColor(R.color.item_light_gray)); // ((TextView) v).setTextColor(getResources().getColor(R.color.common_ff0000)); // saveBrandTextView = ((TextView) v); // } // } // }; // //系列 // serialListView = (ListView)brandContentView.findViewById(R.id.serial_listview); // mSerialList = new LinkedList<CategoryInfo>(); // mSerialArrayAdapter = new SerialListAdapter(this,mSerialList); // serialListView.setAdapter(mSerialArrayAdapter); // serialListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { // @Override // public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { // mCatId = mSerialList.get(i).cat_id; // //进行搜索 // skip = 0; // doInitLoad(); // popupWindow.dismiss(); // } // }); // /* mSerialOnClickListener = new View.OnClickListener() { // @Override // public void onClick(View v) { // if (TextView.class.isInstance(v)) { // mCatId = String.valueOf(((TextView)v).getId()); // //进行搜索 // skip = 0; // doInitLoad(); // popupWindow.dismiss(); // } // } // };*/ // doSearchBrand(); // } //显示筛选popupwindow public void showFilterPopupWindow(View anchor) { // mSexRadioGroup = (FlowRadioGroup)contentView.findViewById(R.id.sex_radiogroup); // mPriceRadioGroup = (FlowRadioGroup)contentView.findViewById(R.id.price_radiogroup); // mSexRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { // @Override // public void onCheckedChanged(RadioGroup radioGroup, int i) { // RadioButton rb = (RadioButton)radioGroup.getChildAt(i); // mCrowd = rb.getText().toString(); // } // }); // mPriceRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { // @Override // public void onCheckedChanged(RadioGroup radioGroup, int i) { // RadioButton rb = (RadioButton)radioGroup.getChildAt(i); // mPrice = rb.getText().toString(); // } // }); popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() { @Override public void onDismiss() { //改变字颜色 // filterTextView.setTextColor(getResources().getColor(R.color.common_666666));//第一个报错的控件,原因是没有找到-------------------------------- view.setVisibility(View.GONE); } }); popupWindow.setWidth(screenWidth); popupWindow.setHeight(screenHeight*2/3); popupWindow.setContentView(filterContentView); popupWindow.setFocusable(true); popupWindow.setOutsideTouchable(true); popupWindow.setBackgroundDrawable(new PaintDrawable(getResources().getColor(R.color.common_f5f5f5))); popupWindow.showAsDropDown(anchor); view.setVisibility(View.VISIBLE); //保留状态 saveFilterState(); //getFilterState(); } //初始化状态list // private void initFilterPopupWindow(){ // selectedSexList = new LinkedList<TextView>(); // selectedList = new LinkedList<TextView>(); // selectedPriceList = new LinkedList<TextView>(); // filterContentView = LayoutInflater.from(GoodsSearchActivity.this).inflate( // R.layout.filter_popupwindow, null); // mSexSupperLayout = (SupperLayout) filterContentView.findViewById( // R.id.right_menu_sex_superlayout); // mFilterSexOnClickListener = new View.OnClickListener() { // @Override // public void onClick(View v) { // if (TextView.class.isInstance(v)) { // if(selectedSexList.contains(v)){ // ((TextView) v).setTextColor(getResources().getColor(R.color.item_light_gray)); // selectedSexList.remove(v); // }else { // if(selectedSexList.size() > 0){ // for (TextView textview:selectedSexList){ // textview.setTextColor(getResources().getColor(R.color.item_light_gray)); // } // selectedSexList.clear(); // } // ((TextView) v).setTextColor(getResources().getColor(R.color.common_ff0000)); // selectedSexList.add(((TextView) v)); // } // } // } // }; // getSex(); // //价格 // mPriceSupperLayout = (SupperLayout) filterContentView.findViewById( // R.id.right_menu_price_superlayout); // mFilterPriceOnClickListener = new View.OnClickListener() { // @Override // public void onClick(View v) { // if (TextView.class.isInstance(v)) { // if(selectedPriceList.contains(v)){ // ((TextView) v).setTextColor(getResources().getColor(R.color.item_light_gray)); // selectedPriceList.remove(v); // }else { // if(selectedPriceList.size() > 0){ // for (TextView textview:selectedPriceList){ // textview.setTextColor(getResources().getColor(R.color.item_light_gray)); // } // selectedPriceList.clear(); // } // ((TextView) v).setTextColor(getResources().getColor(R.color.common_ff0000)); // selectedPriceList.add(((TextView) v)); // } // } // } // }; // getPrice(); // //城市 // mCitySupperLayout = (SupperLayout) filterContentView.findViewById( // R.id.right_menu_city_superlayout); // mFilterCityOnClickListener = new View.OnClickListener() { // @Override // public void onClick(View v) { // if (TextView.class.isInstance(v)) { // if(selectedList.contains(v)){ // ((TextView) v).setTextColor(getResources().getColor(R.color.item_light_gray)); // selectedList.remove(v); // }else { // ((TextView) v).setTextColor(getResources().getColor(R.color.common_ff0000)); // selectedList.add(((TextView) v)); // } // } // } // }; // getCity(); // //确认 // sureTextview = (TextView) filterContentView.findViewById( // R.id.filter_sure_textview); // sureTextview.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { // //根据选择的条件去搜索 // if(selectedList.size() > 0){ // StringBuffer buffer = new StringBuffer(); // for(TextView seleted:selectedList){ // buffer.append(seleted.getText().toString()).append(","); // } // buffer.deleteCharAt(buffer.length()-1); // mArea = buffer.toString(); // mArea = mArea.replace("√",""); // }else { // mArea = ""; // } // if(selectedSexList.size() > 0){ // mCrowd = selectedSexList.get(0).getText().toString(); // mCrowd = mCrowd.replace("√",""); // }else { // mCrowd = ""; // } // if(selectedPriceList.size() > 0){ // mPrice = selectedPriceList.get(0).getText().toString(); // mPrice = mPrice.replace("√",""); // }else { // mPrice = ""; // } // //进行搜索 // skip = 0; // doInitLoad(); // popupWindow.dismiss(); // } // }); // //取消 // cancelTextview = (TextView) filterContentView.findViewById( // R.id.filter_cancel_textview); // cancelTextview.setOnClickListener(new View.OnClickListener() { // @Override // public void onClick(View view) { // recoverFilterState(); // popupWindow.dismiss(); // } // }); // } //保留筛选窗口状态 private void saveFilterState(){ tempSelectedList = (LinkedList<TextView>)selectedList.clone(); tempSelectedSexList = (LinkedList<TextView>)selectedSexList.clone(); tempSelectedPriceList = (LinkedList<TextView>)selectedPriceList.clone(); } private void recoverFilterState(){ selectedList = tempSelectedList; selectedSexList = tempSelectedSexList; selectedPriceList = tempSelectedPriceList; } // //得到筛选窗口前的状态 // private void getFilterState(){ // //恢复初始状态 // for(int i = 0;i < cityArr.length; i++){ // ((TextView)mCitySupperLayout.getChildAt(i)).setTextColor(getResources().getColor(R.color.item_light_gray)); // } // for(int i = 0;i < sexArr.length; i++){ // ((TextView)mSexSupperLayout.getChildAt(i)).setTextColor(getResources().getColor(R.color.item_light_gray)); // } // for(int i = 0;i < priceArr.length; i++){ // ((TextView)mPriceSupperLayout.getChildAt(i)).setTextColor(getResources().getColor(R.color.item_light_gray)); // } // if(selectedList.size() > 0){ // for(TextView textView:selectedList){ // textView.setTextColor(getResources().getColor(R.color.common_ff0000)); // } // } // if(selectedSexList.size() > 0){ // for(TextView textView:selectedSexList){ // textView.setTextColor(getResources().getColor(R.color.common_ff0000)); // } // } // if(selectedPriceList.size() > 0){ // for(TextView textView:selectedPriceList){ // textView.setTextColor(getResources().getColor(R.color.common_ff0000)); // } // } // } //动态生成textview 并把它添加到popupwindow中 private TextView makeTextView(String name, int index, float textSize, int col, View.OnClickListener onClick) { TextView tv = new TextView(this); tv.setText(name); tv.setId(index); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); tv.setLayoutParams(params); tv.setWidth(screenWidth / col - 40); tv.setPadding(0, 15, 0, 15); tv.setTextSize(textSize); tv.setTextColor(getResources().getColor(R.color.common_666666)); tv.setOnClickListener(onClick); return tv; } private TextView makeHotWordTextView(String name, int index, int textSize, int col, View.OnClickListener onClick) { TextView tv = new TextView(this); tv.setText(name); tv.setId(index); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); lp.setMargins(10, 10, 10, 10); tv.setLayoutParams(lp); tv.setPadding(30, 15, 30, 15); tv.setTextSize(textSize); tv.setBackgroundResource(R.drawable.bg_edittext_focused); tv.setOnClickListener(onClick); return tv; } private RadioButton makeRadioButton(String name, int textSize, int col, View.OnClickListener onClick, int id) { RadioButton tv = new RadioButton(this); tv.setId(id); tv.setText(name); ViewGroup.LayoutParams params = new ViewGroup.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); tv.setLayoutParams(params); tv.setWidth(screenWidth / col - 30); tv.setPadding(0, 15, 0, 15); tv.setTextSize(textSize); tv.setClickable(true); tv.setBackgroundResource(R.drawable.bg_edittext_focused); tv.setVisibility(View.VISIBLE); // tv.setTextColor(R.drawable.texview_selected_color); // tv.setOnClickListener(onClick); return tv; } // //城市 // private void getCity() { // for (int i = 0; i < cityArr.length; i++) { // TextView tv = makeTextView(cityArr[i], 0,(float)(12.6),3, // mFilterCityOnClickListener); // mCitySupperLayout.addView(tv); // } // } // //性别 // private void getSex() { // for (int i = 0; i < sexArr.length; i++) { // TextView tv = makeTextView(sexArr[i], i, (float)(12.6), 3, // mFilterSexOnClickListener); mSexRadioGroup.addView(tv); // mSexSupperLayout.addView(tv); // } // } // //价格区间 // private void getPrice() { // for (int i = 0; i < priceArr.length; i++) { // TextView tv = makeTextView(priceArr[i], i, (float)(12.6), 3, // mFilterPriceOnClickListener); mPriceRadioGroup.addView(tv); // mPriceSupperLayout.addView(tv); // } // } // //系列 // private void getSerial(int index){ // //得到list的下标索引 // CategoryInfo categoryInfo = categoryInfos.get(index); // mSerialList.clear(); // CategoryInfo categoryInfo1 = (CategoryInfo)categoryInfo.clone(); // categoryInfo1.cat_name = "全部"; // categoryInfo1.cat_id = categoryInfo.cat_id; // mSerialList.add(categoryInfo1); // mSerialList.addAll(categoryInfo.cat_children); // mSerialArrayAdapter.notifyDataSetChanged(); // /* // if(catchildrens != null && catchildrens.size() > 0 ) { // //每个系统前面加一个全部 // TextView tv = makeTextView("全部",category_main_id ,(float)10.8,2, // mSerialOnClickListener); // tv.setPadding(0,5,10,0); // tv.setTextColor(getResources().getColor(R.color.common_666666)); // serialSupperLayout.addView(tv); // for(CategoryInfo cat:catchildrens){ // int catid = 0; // if(!TextUtils.isEmpty(cat.cat_id)) // catid = Integer.valueOf(cat.cat_id); // else catid = 0; // tv = makeTextView(CommonUtil.replaceBlank(cat.cat_name), catid,(float)10.8,2, // mSerialOnClickListener); // tv.setPadding(5,10,15,10); // tv.setLines(2); // tv.setEllipsize(TextUtils.TruncateAt.END); // tv.setMaxWidth(screenWidth / 3 - 40); // tv.setTextColor(getResources().getColor(R.color.item_light_gray)); // tv.setBackgroundResource(R.drawable.click_background); // serialSupperLayout.addView(tv); // } // }*/ // } // //查询品牌 // private void doSearchBrand() { // //检索数据前首先检查网络是否可用 // if(!BaseApplication.getInstance().isNetworkAvailable(this)){ // Toast.makeText(this, getString(R.string.no_network_toast), Toast.LENGTH_SHORT).show(); // return; // } // getStatusTip().showProgress(); // StringRequest postRequest = new StringRequest(com.android.volley.Request.Method.POST, Constant.categoryUrl, // new com.android.volley.Response.Listener<String>(){ // @Override // public void onResponse(String response) { // //处理返回结果 // parseBrandCategoryJson(response); // getStatusTip().hideProgress(); // } // }, // new com.android.volley.Response.ErrorListener() { // @Override // public void onErrorResponse(VolleyError error) { // Toast.makeText(GoodsSearchActivity.this,getString(R.string.reload_txt), Toast.LENGTH_SHORT).show(); // getStatusTip().hideProgress(); // } // }); // BaseApplication.mRequestQueue.add(postRequest); // } //解析json数据 // private void parseBrandCategoryJson(String json){ // Gson gson = new Gson(); // CategoryResult categorys = gson.fromJson(json, CategoryResult.class); // //有错误信息返回 // if(categorys != null // && "0".equals(categorys.status.succeed)){ // Toast.makeText(GoodsSearchActivity.this,categorys.status.error_desc, Toast.LENGTH_SHORT).show(); // return; // }else{ // if(categorys.data != null&& categorys.data.size() > 0 ){ // categoryInfos = categorys.data; // //成功返回品牌list // int i = 0; // for(CategoryInfo categoryInfo:categorys.data){ // TextView tv = makeTextView(categoryInfo.cat_name,i, (float)14.4,3, // mOnClickListener); // if(TextUtils.isEmpty(mCatName)){ // tv.setTextColor(getResources().getColor(R.color.item_light_gray)); // }else{ // if(mCatName.equals(categoryInfo.cat_name)){ // tv.setTextColor(getResources().getColor(R.color.common_ff0000)); // //得到系列数据 // getSerial(i); // }else { // tv.setTextColor(getResources().getColor(R.color.item_light_gray)); // } // } // brandSupperLayout.addView(tv); // i++; // } // } // } // } //处理刷新 private void autoRefresh(){ loading.setVisibility(View.VISIBLE); moreTextView.setVisibility(View.GONE); skip = goodsInfos.size(); //doRefresh(); } //初始化加载 private void doInitLoad() { //检索数据前首先检查网络是否可用 BaseApplication application = new BaseApplication(); if(!application.isNetworkAvailable(this)){ Toast.makeText(GoodsSearchActivity.this,getString(R.string.no_network_toast), Toast.LENGTH_SHORT).show(); return; } getStatusTip().showProgress(); StringRequest postRequest = new StringRequest(Request.Method.POST, Constant.getSearchWord, new Response.Listener<String>(){ @Override public void onResponse(String response) { //处理返回结果 parseInitJson(response); getStatusTip().hideProgress(); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { getStatusTip().showProgress(); loadFailView.setViewsVisible(0); } }) { @Override protected Map<String, String> getParams(){//传入后台的参数 Map<String, String> params = new HashMap<String, String>(); params.put("data", "{" + "\"searchWord\":"+getText()+"," + "\"page\":"+page+"," + "\"pagesize\":"+pagesize+"," + "\"version\":\""+BaseApplication.verName+"\"," + "\"versionCode\":\""+BaseApplication.verCode+"\"," + "\"system\":\""+BaseApplication.SYSTEMFLG+"\"" + "}");//搜索条件 return params; } }; BaseApplication.mRequestQueue.add(postRequest); } // //检索处理 // private void doRefresh() { // //检索数据前首先检查网络是否可用 // BaseApplication application = new BaseApplication(); // if(!application.isNetworkAvailable(this)){ // loading.setVisibility(View.GONE); // moreTextView.setVisibility(View.VISIBLE); // Toast.makeText(GoodsSearchActivity.this,getString(R.string.no_network_toast), Toast.LENGTH_SHORT).show(); // return; // } // StringRequest postRequest = new StringRequest(Request.Method.POST, Constant.getSearchWord, // new Response.Listener<String>(){ // @Override // public void onResponse(String response) { // //处理返回结果 // parseJson(response); // loading.setVisibility(View.GONE); // moreTextView.setVisibility(View.VISIBLE); // } // }, // new Response.ErrorListener() { // @Override // public void onErrorResponse(VolleyError error) { // Toast.makeText(GoodsSearchActivity.this,error.getMessage(), Toast.LENGTH_SHORT).show(); // loading.setVisibility(View.GONE); // moreTextView.setVisibility(View.VISIBLE); // } // }) // { // @Override // protected Map<String, String> getParams(){//传入后台的参数 // Map<String, String> params = new HashMap<String, String>(); // if("30000以上".equals(mPrice)){ // mPrice = mPrice.replace("30000以上","30001-100000000"); // } // // params.put("data", "{" + // "\"searchWord\":"+"1"+"," + // "\"version\":\""+BaseApplication.verName+"\"," + // "\"versionCode\":\""+BaseApplication.verCode+"\"," + // "\"system\":\""+BaseApplication.SYSTEMFLG+"\"" + // "}");//搜索条件 // return params; // } // }; // BaseApplication.mRequestQueue.add(postRequest); // } //解析json数据 private void parseJson(String json){ Gson gson = new Gson(); // GoodsList goodsList = gson.fromJson(json, GoodsList.class); // //有错误信息返回 // if(goodsList == null || (goodsList != null // && "0".equals(goodsList.status.succeed))){ // Toast.makeText(this,goodsList.status.error_desc, Toast.LENGTH_SHORT).show(); // return; // }else{ // if(goodsList.data != null // && goodsList.data.size() > 0 // ){ // //成功返回商品list // goodsListAdapter.addAll(goodsList.data); // }else{ // moreTextView.setText("已加载全部数据"); // } // } } //解析json数据 private void parseInitJson(String json){ Gson gson = new Gson(); GoodsSearchResult homePageResult = gson.fromJson(json, GoodsSearchResult.class); //有错误信息返回 if (homePageResult != null && 200==(homePageResult.getCode())) { //服务器当前时间 if(homePageResult.getData() != null){ if (homePageResult.getData() != null && homePageResult.getData().size() > 0){ //养护 mDataInfo=homePageResult.getData(); adapter.getList().clear(); adapter.appendToList(mDataInfo); } //loadFailView.setViewsVisible(View.GONE); } } else { Toast.makeText(GoodsSearchActivity.this, homePageResult != null ? homePageResult.getMessage() : "", Toast.LENGTH_SHORT).show(); } } //商品数据点击事件处理 private void GoodsItemClick(){ goodsListView.setOnItemClickListener(new AdapterView.OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // Intent intent = new Intent(); // intent.setClass(GoodsSearchActivity.this, GoodsDetailActivity.class); // Bundle dataBun = new Bundle(); // dataBun.putString( // GoodsDetailActivity.GOODSID, // ((GoodsInfo) goodsInfos.get(position)).goods_id); // dataBun.putString( // GoodsDetailActivity.GOODSNAME, // ((GoodsInfo) goodsInfos.get(position)).goods_name); // intent.putExtras(dataBun); // startActivity(intent); } }); } @Override public void finish(View view) { } @Override protected void doReload() { } }
XML:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/base_backgroud_color"> <RelativeLayout android:id="@+id/search_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/white" > <LinearLayout android:id="@+id/title_back_layout" android:layout_width="wrap_content" android:layout_height="49.2dp" android:paddingLeft="@dimen/common_space" > <ImageView android:id="@+id/title_back_imageview" android:layout_width="9dp" android:layout_height="18dp" android:layout_centerVertical="true" android:clickable="true" android:background="@drawable/title_back_imageview" android:layout_gravity="center_vertical" /> </LinearLayout> <RelativeLayout android:id="@+id/search_edittext_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/margin_10dp" android:layout_marginLeft="@dimen/common_space" android:layout_marginRight="50dp" android:layout_marginTop="@dimen/margin_10dp" android:layout_toRightOf="@+id/title_back_layout" android:background="@drawable/bg_edittext_focused"> <EditText android:id="@+id/search_myedittext" android:layout_width="match_parent" android:layout_height="29.2dp" android:background="@null" android:hint="@string/search_edt_hint" android:imeOptions="actionSearch" android:paddingLeft="@dimen/margin_15dp" android:lines="1" android:textSize="@dimen/small_text_size_12" /> <ImageView android:id="@+id/my_delete" android:layout_width="wrap_content" android:layout_height="20dp" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:paddingRight="@dimen/margin_10dp" android:src="@drawable/delete_text_icon" android:visibility="gone" /> </RelativeLayout> <TextView android:id="@+id/search_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_centerVertical="true" android:layout_marginRight="@dimen/common_space" android:clickable="true" android:gravity="center" android:text="搜索" android:textColor="@color/color_333333" android:textSize="@dimen/small_text_size_12" /> </RelativeLayout> <RelativeLayout android:id="@+id/content_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/search_layout"> <!-- <LinearLayout android:id="@+id/condition_linearlayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/brand_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:clickable="true" android:gravity="center" android:padding="@dimen/margin_10dp" android:text="品牌" android:textColor="@color/common_666666" android:textSize="@dimen/small_text_size_12" /> <LinearLayout android:id="@+id/price_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/search_layout" android:layout_centerVertical="true" android:layout_gravity="center" android:layout_weight="1" android:clickable="true" android:gravity="center" android:orientation="horizontal"> <TextView android:id="@+id/price_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:paddingBottom="@dimen/margin_10dp" android:paddingTop="@dimen/margin_10dp" android:text="价格" android:textColor="@color/common_666666" android:textSize="@dimen/small_text_size_12" /> <ImageView android:id="@+id/price_imageview" android:layout_width="9dp" android:layout_height="7.2dp" android:layout_gravity="center" android:src="@drawable/delete_text_icon" /> </LinearLayout> <TextView android:id="@+id/filter_textview" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:clickable="true" android:gravity="center" android:padding="@dimen/margin_10dp" android:text="筛选" android:textColor="@color/common_666666" android:textSize="@dimen/small_text_size_12" /> </LinearLayout>--> <!-- <View android:id="@+id/title_line" android:layout_width="match_parent" android:layout_height="1dip" android:background="#e6e6e6" android:layout_below="@id/condition_linearlayout" />--> <ListView android:id="@+id/goods_listview" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" android:cacheColorHint="#00000000" android:fadingEdge="none" android:fastScrollEnabled="false" android:footerDividersEnabled="false" android:headerDividersEnabled="false" android:paddingLeft="@dimen/common_space" android:smoothScrollbar="true" /> <!-- <include android:id="@+id/layout_no_data" layout="@layout/layout_no_data" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/condition_linearlayout" android:visibility="gone" />--> <!--<com.luxji.auction.widget.NoDataView--> <!--android:id="@+id/search_nodata_view"--> <!--android:layout_width="match_parent"--> <!--android:layout_height="match_parent"--> <!--android:layout_below="@id/condition_linearlayout" />--> <View android:id="@+id/shade_view" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#70000000" android:visibility="gone" /> </RelativeLayout> <include android:id="@+id/search_his_popupwindow" layout="@layout/search_his_popupwindow" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@id/search_layout" android:visibility="gone" android:background="@color/white" /> <com.luxji.auction.widget.NetWorkView android:id="@+id/no_network_view" android:layout_width="match_parent" android:visibility="gone" android:layout_height="match_parent" /> <com.luxji.auction.widget.LoadFailView android:id="@+id/load_fail_view" android:layout_width="match_parent" android:visibility="gone" android:layout_height="match_parent" /> </RelativeLayout>