在android的实践开发中,为了界面的美观,往往那些搜索框并没有带搜索按钮,而是调用了软键盘的搜索按钮,完成这次时间
  • 1
  • 2

android 监控软键盘确定 搜索 按钮并赋予点击事件-LMLPHP
android 监控软键盘确定 搜索 按钮并赋予点击事件-LMLPHP

好吧!直接上代码!

<EditText
android:id="@+id/my_chat_seach"
android:layout_width="fill_parent"
android:layout_height="23dp"
android:layout_centerVertical="true"
android:layout_marginRight="6dip"
android:layout_toRightOf="@id/my_seach_item_1_button"
android:background="@color/white"
android:gravity="center_vertical"
android:hint="@string/search"
android:imeOptions="actionSearch"
android:singleLine="true"
android:textColor="#8e8787"
android:textSize="13sp" />

xml配置文件中 最重要的一个属性是: android:imeOptions=”actionSearch”,从而调用软键盘时,回车键就会显示搜索二字。
同时在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode=”adjustPan”,可以防止软键盘会把原来的界面挤上去的问题。
那么在该activity中,如何操作呢?

seachEditText = (EditText) findViewById(R.id.my_chat_seach);
watchSearch();

然后

/**
* @方法说明:监控软键盘的的搜索按钮
* @方法名称:watchSearch
* @返回值:void
*/
public void watchSearch() {
seachEditText.setOnEditorActionListener(new OnEditorActionListener() { @Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
// 先隐藏键盘
((InputMethodManager) seachEditText.getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(ChatFriendsGroudSeach.this
.getCurrentFocus().getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS);
// 搜索,进行自己要的操作...
seachList(viewIndex);//这里是我要做的操作!
return true;
}
return false;
}
});
}

好的!完成!

05-11 17:25