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;
}
}
}