package com.mgw.member.ui.activity.cityleague;
import java.util.ArrayList;
import java.util.List;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.view.inputmethod.InputMethodManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import com.hx.hxchat.widget.ExpandGridView;
import com.loopj.android.http.RequestParams;
import com.mgw.member.R;
import com.mgw.member.constant.Define_C;
import com.mgw.member.ui.activity.MainActivity;
import com.mgw.member.uitls.MgqDataHandler;
import com.mgw.member.uitls.MgqRestClient;
import com.mgw.member.uitls.UIUtils;
@SuppressLint("HandlerLeak")
public class SearchActivity extends BaseActivity2 implements OnClickListener {
private final Handler handler = new Handler() {
@Override
public void handleMessage(android.os.Message msg) {
};
};
private List<View> pageViews;
private ImageView[] imageViews;
private ViewPager viewPager;
JSONArray m_searchkey_list = new JSONArray();
private MyGridVIewAdapter gridVIewAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.search);
findViewById(R.id.tv_title_bar_search).setOnClickListener(this);
gridVIewAdapter = new MyGridVIewAdapter();
initTitleButton();
getDatahotsearch(true);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
private void initViewPaper() {
LayoutInflater inflater = getLayoutInflater();
View v1 = inflater.inflate(R.layout.search_viewpaper01, null);
ExpandGridView gv_search_key = (ExpandGridView) v1
.findViewById(R.id.gv_search_key);
gv_search_key.setAdapter(gridVIewAdapter);
gv_search_key.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
try {
Intent intent = new Intent(SearchActivity.this,
ShopActivity.class);
intent.putExtra("name", m_searchkey_list
.getJSONObject(arg2).getString("skey"));
intent.putExtra("type", 2);
startActivity(intent);
overridePendingTransition(R.anim.slide_in_from_left,
R.anim.slide_out_to_right);
finish();
} catch (JSONException e) {
e.printStackTrace();
}
}
});
pageViews = new ArrayList<View>();
pageViews.add(v1);
imageViews = new ImageView[pageViews.size()];
viewPager = (ViewPager) findViewById(R.id.vp_search);
viewPager.setAdapter(new GuidePageAdapter());
viewPager.setOnPageChangeListener(new GuidePageChangeListener());
}
@Override
public void onClick(View v) {
super.onClick(v);
switch (v.getId()) {
case R.id.tv_title_bar_search:
String skey = ((EditText) findViewById(R.id.et_title_bar_search))
.getText().toString();
if (!"".equals(skey.trim())) {
Intent intent = new Intent(SearchActivity.this,
ShopActivity.class);
intent.putExtra("name", skey);
intent.putExtra("type", 2);
startActivity(intent);
overridePendingTransition(R.anim.slide_in_from_left,
R.anim.slide_out_to_right);
finish();
}
break;
}
}
class GuidePageAdapter extends PagerAdapter {
@Override
public int getCount() {
return pageViews.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public int getItemPosition(Object object) {
return super.getItemPosition(object);
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView(pageViews.get(arg1));
}
@Override
public Object instantiateItem(View arg0, int arg1) {
((ViewPager) arg0).addView(pageViews.get(arg1));
return pageViews.get(arg1);
}
@Override
public void finishUpdate(View arg0) {
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
}
class GuidePageChangeListener implements OnPageChangeListener {
@Override
public void onPageScrollStateChanged(int arg0) {
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageSelected(int arg0) {
for (int i = 0; i < imageViews.length; i++) {
switch (arg0) {
case 0:
((ImageView) findViewById(R.id.iv_search_point01))
.setBackgroundResource(R.drawable.dot_s);
((ImageView) findViewById(R.id.iv_search_point02))
.setBackgroundResource(R.drawable.dot);
break;
case 1:
((ImageView) findViewById(R.id.iv_search_point02))
.setBackgroundResource(R.drawable.dot_s);
((ImageView) findViewById(R.id.iv_search_point01))
.setBackgroundResource(R.drawable.dot);
break;
}
}
}
}
private void getDatahotsearch(boolean show) {
MgqDataHandler loginHandler = new MgqDataHandler(this, show, false) {
@Override
public void onSuccess(String response) {
super.onSuccess(response);
try {
JSONObject obj = new JSONObject(response);
Log.e("hotsearchkey", obj.toString());
if (obj.getInt("flag") == 0) {
m_searchkey_list = obj.getJSONArray("items");
initViewPaper();
} else {
UIUtils.showToastWithAlertPic(obj.getString("msg"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Throwable ble) {
}
};
RequestParams params = new RequestParams();
params.put("type", "wzreposity.hotsearchkey");
try {
JSONObject obj = new JSONObject(getSharedPreferences("mgw_data",
Context.MODE_PRIVATE).getString("mgw_data", ""));
params.put("userid", obj.getString("UserID"));
params.put("serial", obj.getString("serial"));
params.put("telephone", obj.getString("Telephone"));
} catch (JSONException e1) {
e1.printStackTrace();
}
MgqRestClient.get(Define_C.mgw_url, params, loginHandler);
}
class MyGridVIewAdapter extends BaseAdapter {
@Override
public int getCount() {
return m_searchkey_list.length();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = LayoutInflater.from(SearchActivity.this).inflate(
R.layout.item_textview, null);
TextView tv_item = (TextView) view.findViewById(R.id.tv_item);
Log.e("getview啦", "position" + position);
try {
tv_item.setText(m_searchkey_list.getJSONObject(position)
.getString("skey"));
Log.e("getview啦shuju ",
"shuju;;;;;"
+ m_searchkey_list.getJSONObject(position)
.getString("skey"));
} catch (JSONException e) {
e.printStackTrace();
}
return view;
}
}
private void closeKeyboard(final View view) {
handler.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}, 10);
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}