package com.sogouchat.search; import java.util.Vector; import com.sogouchat.R; import com.sogouchat.conversation.ConversationActivity; import com.sogouchat.smsmms.Sms; import com.sogouchat.ui.ChatListActivity; import com.sogouchat.util.SmsFunc; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.AbsListView; import android.widget.AbsListView.OnScrollListener; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.ListView; public class SearchMessageActivity extends Activity implements EditTextChangeInterface{ private Button mBtnCancel; private SearchView mEditText; private ListView mListView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.acitivity_search_message); mBtnCancel = (Button)findViewById(R.id.btn_search_cancel); mEditText = (SearchView)findViewById(R.id.search_msg); mListView = (ListView)findViewById(R.id.search_result_list); mEditText.SetOnEditTextChInterface(this); mListView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // TODO Auto-generated method stub InputViewShowHelper.SetInputShow(false, getApplicationContext(), mEditText); } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // TODO Auto-generated method stub } }); mListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Sms sms = (Sms)arg0.getItemAtPosition(arg2); if (sms!=null) { Intent intent = new Intent(); intent.setClass(SearchMessageActivity.this, ConversationActivity.class); intent.putExtra(ConversationActivity.STR_TYPE, ConversationActivity.TYPE_FROM_SEARCH); intent.putExtra(ConversationActivity.STR_NUMBER, sms.phoneNumber); intent.putExtra(ConversationActivity.STR_NAME, sms.name); intent.putExtra(ConversationActivity.STR_THREADID,sms.threadID); intent.putExtra(ConversationActivity.STR_SMSID, sms.ID); intent.putExtra(ConversationActivity.STR_KEY,strKey ); startActivity(intent); } } }); mBtnCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub finish(); } }); } private SearchMessageAdapter adapter = null; private Vector<Sms> mLists = new Vector<Sms>(); private String strKey = null; public void OnEditTextChange(String strText) { // TODO Auto-generated method stub if (strText!=null && !strText.equals("")) { strKey = strText; SmsFunc.SearchSmsByKey(getApplicationContext(), strText, mLists); }else { mLists.clear(); } if (adapter==null) { adapter = new SearchMessageAdapter(getApplicationContext(), mLists,strText); mListView.setAdapter(adapter); }else { adapter.notifyChange(strText); } } }