/** * @file SearchDialogView.java * * @revision: none * * @version 0.0.01 * @author: Zenki (zhajun), zenki2001cn@163.com * @date: 2011-6-9 下午02:14:32 */ package com.easyview.ebook.reader.ui.view; import com.easyview.ebook.reader.engine.model.IBookSearchCursor; import com.easyview.ebook.reader.ui.controller.EasyViewer; import com.easyview.ebook.reader.ui.controller.IControlCenterService; import com.easyview.ebook.reader.ui.controller.IControlCenterService.COMMAND_TYPE; import com.easyview.ebook.reader.easyviewer.R; import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.ImageButton; public class SearchDialogView extends EVBaseRelativeLayout { static private final String TAG = "SearchDialogView"; private EditText mEditSearchKeyword; private ImageButton mBtnSearch; private ImageButton mBtnSearchNext; private ImageButton mBtnSearchPrevious; private ImageButton mBtnSearchExit; public SearchDialogView(Context context) { super(context); } public SearchDialogView(Context context, AttributeSet attrs) { super(context, attrs); } public SearchDialogView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } private void initView() { mEditSearchKeyword = (EditText) findViewById(R.id.id_search_edit); mBtnSearch = (ImageButton) findViewById(R.id.id_search_button); mBtnSearchNext = (ImageButton) findViewById(R.id.id_search_next); mBtnSearchPrevious = (ImageButton) findViewById(R.id.id_search_previous); mBtnSearchExit = (ImageButton) findViewById(R.id.id_search_exit); mBtnSearch.setOnClickListener(cBtnSearchListener); mBtnSearchNext.setOnClickListener(cBtnSearchNextListener); mBtnSearchPrevious.setOnClickListener(cBtnSearchPreviousListener); mBtnSearchExit.setOnClickListener(cBtnSearchExitListener); } @Override protected void onFinishInflate() { initView(); super.onFinishInflate(); } private void closeInputMethod() { InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); if (imm != null) { imm.hideSoftInputFromWindow(mEditSearchKeyword.getWindowToken(), 0); } } private OnClickListener cBtnSearchListener = new OnClickListener() { @Override public void onClick(View v) { String keyword = mEditSearchKeyword.getText().toString().trim(); EasyViewer ev = SearchDialogView.this.getEasyViewer(); if (ev != null) { IBookSearchCursor bookSearchOps = ev.getBook().getBookSearchCursor(); bookSearchOps.setSearchKeyword(keyword); ev.enterSearchMode(); } closeInputMethod(); } }; private OnClickListener cBtnSearchNextListener = new OnClickListener() { @Override public void onClick(View v) { EasyViewer ev = SearchDialogView.this.getEasyViewer(); if (ev != null) { ev.searchGoNext(); // ev.gotoSearch(); } closeInputMethod(); } }; private OnClickListener cBtnSearchPreviousListener = new OnClickListener() { @Override public void onClick(View v) { EasyViewer ev = SearchDialogView.this.getEasyViewer(); if (ev != null) { ev.searchGoPrevious(); } closeInputMethod(); } }; private OnClickListener cBtnSearchExitListener = new OnClickListener() { @Override public void onClick(View v) { closeInputMethod(); IControlCenterService icc = SearchDialogView.this.getControlCenter(); EasyViewer ev = SearchDialogView.this.getEasyViewer(); if (ev != null) { ev.quitSearch(); } if (icc != null) { icc.runCommand(COMMAND_TYPE.CMD_CLOSE_SEARCH); } } }; }