package com.partynetwork.iparty.theme; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.partynetwork.iparty.R; import com.partynetwork.iparty.R.color; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.lidroid.xutils.view.annotation.event.OnClick; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; public class ThemeSearchActivity extends Activity { // 返回按钮 @ViewInject(R.id.menu_head_left) LinearLayout backBtn; // 顶部切换文本 @ViewInject(R.id.tab_ishare) TextView tv_iShare; @ViewInject(R.id.tab_ishare_ll) LinearLayout ll_iShare; @ViewInject(R.id.tab_ichoose) TextView tv_iChoose; @ViewInject(R.id.tab_ichoose_ll) LinearLayout ll_iChoose; @ViewInject(R.id.tab_iparty) TextView tv_iParty; @ViewInject(R.id.tab_iparty_ll) LinearLayout ll_iParty; // 查找按钮 @ViewInject(R.id.search_tv) Button tv_search; // 查找输入文本框 @ViewInject(R.id.search_et) EditText et_search; // ListView @ViewInject(R.id.theme_search_list) ListView mListView; // 无内容显示控件 @ViewInject(R.id.theme_search_none_ll) LinearLayout none; // 内容清除按钮 @ViewInject(R.id.search_clear_iv) ImageView clear_btn; // 查找的类别 private int type; // 查找到数据的适配器 private ListAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.theme_search); ViewUtils.inject(this); init(); setListener(); } /** * 初始化数据 */ private void init() { Intent intent = getIntent(); String text = intent.getStringExtra("searchText"); type = intent.getIntExtra("searchType", 0); et_search.setText(text); setType(type); } private void setType(int type) { this.type = type; ll_iShare.setVisibility(View.INVISIBLE); ll_iChoose.setVisibility(View.INVISIBLE); ll_iParty.setVisibility(View.INVISIBLE); switch (type) { case 0: ll_iShare.setVisibility(View.VISIBLE); break; case 1: ll_iChoose.setVisibility(View.VISIBLE); break; case 2: ll_iParty.setVisibility(View.VISIBLE); break; default: break; } adapter = new SimpleAdapter(this, getData(), R.layout.theme_search_item, new String[] { "title" }, new int[] { R.id.theme_search_item_content_tv }); mListView.setAdapter(adapter); } // 获取数据源 // 定义的假数据 private String[] date1 = new String[] {}; private String[] date2 = new String[] {}; private String[] date3 = new String[] {}; // 获取配对数据 private List<Map<String, Object>> getData() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); String[] date = null; if (type == 0) { date = date1; } else if (type == 1) { date = date2; } else { date = date3; } if (date.length == 0) { none.setVisibility(View.VISIBLE); mListView.setVisibility(View.INVISIBLE); } else { none.setVisibility(View.INVISIBLE); mListView.setVisibility(View.VISIBLE); } for (int i = 0; i < date.length; i++) { Map<String, Object> map = new HashMap<String, Object>(); map.put("title", date[i]); list.add(map); } return list; } /** * 设置监听 */ private void setListener() { et_search.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { } public void afterTextChanged(Editable s) { if (0 < s.toString().length()) { tv_search.setTextColor(Color.BLACK); tv_search .setBackgroundResource(R.drawable.stroke_single_select); tv_search.setClickable(true); clear_btn.setVisibility(View.VISIBLE); } else { tv_search.setTextColor(color.lightgray); tv_search.setBackgroundResource(R.drawable.stroke_single); tv_search.setClickable(false); clear_btn.setVisibility(View.INVISIBLE); } } }); } @OnClick({ R.id.menu_head_left, R.id.tab_ishare, R.id.tab_ichoose, R.id.tab_iparty, R.id.search_clear_iv, R.id.search_tv }) public void btnClick(View v) { switch (v.getId()) { case R.id.menu_head_left: // 返回 finish(); break; case R.id.tab_ishare: // i分享 setType(0); break; case R.id.tab_ichoose: setType(1); // iChoose break; case R.id.tab_iparty: setType(2); // iParty break; case R.id.search_clear_iv: // 清除按钮 et_search.setText(""); break; case R.id.search_tv: // 查找按钮 break; default: break; } } }