有没有人知道为什么这个不起作用..
我的SearchView在ActionBar中,并且始终显示。我想知道当用户按下searchview...当它扩展或获得焦点时就不会了。
此代码位于onCreateOptionsMenu中
SearchView = _searchView;
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
_searchView = (SearchView) menu.findItem(R.id.menu_finder_text_search).getActionView();
_searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
_searchView.setIconifiedByDefault(false); // Do not iconify the widget, we want to keep it open!
_searchView.setFocusable(false);
_searchView.setClickable(true);
_searchView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//DO SOMETHING!
}
});有没有人?
发布于 2014-01-22 11:41:55
SearchView是从LinearLayout继承而来的,所以我们可以为每个子级执行setOnClickListener,如下所示:
public static void setSearchViewOnClickListener(View v, OnClickListener listener) {
if (v instanceof ViewGroup) {
ViewGroup group = (ViewGroup)v;
int count = group.getChildCount();
for (int i = 0; i < count; i++) {
View child = group.getChildAt(i);
if (child instanceof LinearLayout || child instanceof RelativeLayout) {
setSearchViewOnClickListener(child, listener);
}
if (child instanceof TextView) {
TextView text = (TextView)child;
text.setFocusable(false);
}
child.setOnClickListener(listener);
}
}
}来自:http://www.trinea.cn/android/searchview-setonclicklistener-not-working/
发布于 2013-02-27 01:23:31
好吧,它没有回答这个问题,它只是避免了这个问题。我已经使用此链接创建了键盘显示时的侦听器。这为我在合适的时间提供了一个事件。
发布于 2016-10-27 16:59:48
试试这个:
1)绑定视图
@BindView(R.id.search) SearchView search;2)在onCreate()中,编写以下代码。
search.setIconifiedByDefault(false);
search.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
search.setIconified(false);
}
});3)并且您的SearchView应该具有以下属性。
<SearchView
android:id="@+id/search"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_centerVertical="true"
android:background="@drawable/rounded_corners_box"
android:drawableLeft="@android:drawable/ic_menu_search"
android:imeOptions="actionSearch"
android:inputType="text"
android:maxLines="1"
android:queryHint="Search your item.."
android:textColor="@android:color/black"
android:textColorHint="@color/colorPrimary"
app:defaultQueryHint="Select locality"/>备注:
xml --您的自定义边框android:background="@drawable/rounded_corners_box“文件。android:drawableLeft="@android:drawable/ic_menu_search“--从可绘制文件中搜索图标。
https://stackoverflow.com/questions/15092082
复制相似问题