标签: searchview

SearchView过滤ListView

我已经实现了过滤我的列表视图项的搜索视图.当我输入任何文本时,它会过滤列表,但是当我退出搜索视图时,它不会返回原始列表项.

public class PlacesListAdapter extends ArrayAdapter<Place> implements
        Filterable {
    public Context context;
    private List<Place> places, orig, itemDetailsrrayList;
    private PlaceFilter filter;

    public PlacesListAdapter(Context context, int textViewResourceId) {
        super(context, textViewResourceId);
    }

    public PlacesListAdapter(Context context, int resource, List<Place> places) {
        super(context, resource, places);
        this.context = context;
        this.places = places;

        itemDetailsrrayList = places;
        orig = itemDetailsrrayList;

        filter = new PlaceFilter();
        // imageLoader = new ImageLoader(context.getApplicationContext());

    }

    public int getCount() {
        return itemDetailsrrayList.size();
    }

    public Place getItem(int position) {
        return itemDetailsrrayList.get(position);
    }

    public long getItemId(int …
Run Code Online (Sandbox Code Playgroud)

android android-listview searchview

5
推荐指数
1
解决办法
6255
查看次数

在SearchView打开时启动活动

如何在打开文本字段的情况下使用SearchView启动活动.通过这种方式,我可以搜索而无需点击望远镜.我正在使用Sherlock Action Bar.

这是我的代码:

   @Override
    public boolean onCreateOptionsMenu(Menu menu) {

     final SearchView searchView = new SearchView(getSupportActionBar().getThemedContext());
        searchView.setQueryHint("Cerca domande");

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {

            @Override
            public boolean onQueryTextSubmit(String query) {
                if (query.length() != 0) {

                    // handle search here
                    return true;
                }
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {

                 if (newText.length()>=3) {
                     new PostTask().execute(newText);   

                     Util.setSharedPreferences(SearchActivity.this, "lastsearch", newText);
                 }
                return false;
            }
        });

        menu.add("Search")
            .setIcon(ic_search_inverse)
            .setActionView(searchView)
            .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);


        listsearch.setOnItemClickListener(this);

     return true;
    }
Run Code Online (Sandbox Code Playgroud)

谢谢.

android searchview

5
推荐指数
1
解决办法
9054
查看次数

无法隐藏SearchView的虚拟键盘iconfiedbydefault(false)

我有一个搜索视图,默认情况下设置为默认搜索查询,但我不想要虚拟键盘.在下面的代码中,我试图隐藏onCreateOptionsMenu中的键盘,但仍然可以看到键盘.

imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    MenuItem item = menu.findItem(R.id.menu_search);
    item.expandActionView();
    mSearchView = (SearchView) item.getActionView();
    mSearchView.setIconifiedByDefault(false);
    mSearchView.setQuery(query, true);
    imm.hideSoftInputFromWindow(mSearchView.getWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)

我正在使用sherlock搜索视图小部件.任何隐藏虚拟键盘的建议.我做错了什么?

android optionmenu actionbarsherlock searchview

5
推荐指数
2
解决办法
6466
查看次数

用于ActionBar搜索的ExpandedView上的空指针

我有一个SearchView在我的ActionBar.我也有一个MainFragmentActivity加载搜索onCreateOptionsMenu.当我交换Fragment进出的SearchView工作正常 - 有一个例外:特别是Fragment我加载的地方:

FragmentTransaction t = fm.beginTransaction();
SherlockListFragment mFrag = new RateReviewFragment();

t.add(R.id.main_frag, mFrag);
t.setCustomAnimations(R.anim.animation_leave, R.anim.animation_enter,
        R.anim.animation_leave, R.anim.animation_enter);
t.show(mFrag);
t.addToBackStack(null);
t.commit();
Run Code Online (Sandbox Code Playgroud)

这里唯一的区别是我将它添加到backstack.当我在这个片段显示时尝试在ActionBar中点击SearchView,或者在此片段显示之后的任何片段(在此片段关闭后我弹出后面的堆栈并清除它),然后我得到以下错误.它很难诊断,因为它没有显示在我的代码中.

06-17 10:03:33.668: E/AndroidRuntime(9224): FATAL EXCEPTION: main
06-17 10:03:33.668: E/AndroidRuntime(9224): java.lang.NullPointerException
06-17 10:03:33.668: E/AndroidRuntime(9224):     at com.android.internal.widget.ActionBarView$ExpandedActionViewMenuPresenter.expandItemActionView(ActionBarView.java:1470)
06-17 10:03:33.668: E/AndroidRuntime(9224):     at com.android.internal.view.menu.MenuBuilder.expandItemActionView(MenuBuilder.java:1233)
06-17 10:03:33.668: E/AndroidRuntime(9224):     at com.android.internal.view.menu.MenuItemImpl.expandActionView(MenuItemImpl.java:620)
06-17 10:03:33.668: E/AndroidRuntime(9224):     at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:879)
06-17 10:03:33.668: E/AndroidRuntime(9224):     at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:524)
06-17 10:03:33.668: E/AndroidRuntime(9224):     at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:131)
06-17 10:03:33.668: E/AndroidRuntime(9224):     at …
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception android-fragments android-actionbar searchview

5
推荐指数
1
解决办法
622
查看次数

如何禁用searchview?

你可以帮助我按下按钮时如何禁用searchview吗?我正在尝试这段代码:

searchView.setEnabled(false);
                searchView.setFocusableInTouchMode(false);
                searchView.clearFocus();
Run Code Online (Sandbox Code Playgroud)

但它似乎无法正常工作.我仍然可以在searchview中输入文字.

谢谢.. :))

android searchview

5
推荐指数
2
解决办法
6003
查看次数

Android: Add a custom button to SearchView Widget in Actionbar

I would like to add a custom button to SearchView widget.

Going through source code of search_view layout file I found out that it has a LinearLayout (submit_area) that contains submit button and voice button.

So I added a dynamic button to submit_area. But it doesn't show my dynamically added button because if either submit button or voice button is not enabled then submit_area is invisible. So it doesn't matter if I add anything dynamically.

SearchView searchView = …
Run Code Online (Sandbox Code Playgroud)

android android-custom-view android-button android-actionbar searchview

5
推荐指数
2
解决办法
6704
查看次数

SearchView没有获得焦点

编辑对于任何想知道的人,我的问题是我使用android.widget.SearchView而不是android.support.v7.widget.SearchView.我希望这可以帮助其他人解决同样的问题!

原帖

我正在尝试按照官方指南在Android ActionBar中实现SearchView:http://developer.android.com/training/search/setup.html

在找不到问题之后,我终于剥离了最基本的Hello World应用程序,并且惊讶地发现该bug仍然存在于最小的应用程序中!

这是错误:搜索图标出现在菜单栏中,没问题.当我单击它时,搜索栏会扩展(按预期方式),但没有光标,也没有软键盘出现.(我想张贴一张照片,但我的名声太低了:(

这是相关的代码,虽然我只是创建了一个新的Android应用程序并将该项添加到menu/menu_main.xml.MainActivity.java

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}
Run Code Online (Sandbox Code Playgroud)

menu_main.xml

<item android:id="@+id/action_search"
    android:icon="@android:drawable/ic_menu_search"
    android:title="@android:string/search_go"
    app:showAsAction="collapseActionView|ifRoom"
    app:actionViewClass="android.widget.SearchView" />
Run Code Online (Sandbox Code Playgroud)

android searchview

5
推荐指数
1
解决办法
3200
查看次数

E/AmanattoDataUpdaterHelper:无法获得Android API 22的上下文建议

我在操作栏上有一个搜索操作视图.在每个搜索查询中,我调用google图像搜索API来获取JSON请求.我一直在执行搜索时收到此错误.我能够在NetworkImageView中加载图像,但我想了解这个错误.

04-06 14:33:49.913 807-1134 /?E/AmanattoDataUpdaterHelper:无法获得上下文建议.04-06 14:33:49.913 807-1134 /?E/AmanattoDataUpdaterHelper:包名:com.example.gallery 04-06 14:33:49.914 807-1134 /?E/AmanattoDataUpdaterHelper:错误信息:已禁用04-06 14:33:50.954 1062-19581 /?D/GCM:消息类com.google.faai

searchview android-volley

5
推荐指数
1
解决办法
690
查看次数

搜索项目扩展时,操作栏紧凑高度会发生变化

我有list fragmentBaseActivity和希望实现搜索功能.但action bar compact点击搜索项目按钮时高度会发生变化

见下面的截图

在此输入图像描述

menu.xml文件

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.android.bypeople.uber.BaseActivity" >

<item
    android:id="@+id/action_add"
    android:icon="@drawable/btn_profile_selector"
    android:orderInCategory="100"
    android:title="@string/action_add"
    android:visible="false"
    app:showAsAction="always"/>
<item
    android:id="@+id/action_search"
    android:icon="@android:drawable/ic_menu_search"
    android:title="@string/action_search"
    android:visible="false"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="ifRoom"/>
Run Code Online (Sandbox Code Playgroud)

片段中的onCreateOptionsMenu

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu,inflater);
    inflater.inflate(R.menu.base, menu);
    menu.findItem(R.id.action_add).setVisible(true);

    SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context.SEARCH_SERVICE);
    MenuItem searchItem = menu.findItem(R.id.action_search);
    searchItem.setVisible(true);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName()));

    searchView.setOnQueryTextListener(queryListener);

    queryListener = new OnQueryTextListener() {       

        @Override
        public boolean onQueryTextChange(String newText) {
            return false;
        }

        @Override
        public boolean …
Run Code Online (Sandbox Code Playgroud)

android searchview android-actionbar-compat

5
推荐指数
1
解决办法
989
查看次数

无法在SearchView中实现过滤器.(SearchView + FirebaseRecyclerAdapter)

我正在使用Firebase-UI的FirebaseRecyclerAdapter.我无法在SearchView中实现过滤器.

我的数据库:

在此输入图像描述

我的问题:

如何使用FirebaseRecyclerAdapter按字符搜索FirebaseDatabase?
(我想按用户名搜索)

我的代码:我用这种方法进行搜索,我的代码有什么问题?

 mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {

            Query Q = mAllUsersDatabaseRef.child("User").orderByChild("username").startAt(newText).endAt("~");

            FirebaseRecyclerAdapter<User, SearchFeedFragment.AllRegisterUserViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<User, SearchFeedFragment.AllRegisterUserViewHolder>(
                    User.class, R.layout.row_search_all_users, SearchFeedFragment.AllRegisterUserViewHolder.class, Q) {
                @Override
                protected void populateViewHolder( SearchFeedFragment.AllRegisterUserViewHolder viewHolder,User model, int position) {


                    viewHolder.setUserName(model.getUsername());
                    viewHolder.setUserProfilePic(Common.stringToBitMap(model.getProfilepicurl()));

                }
            };
            mRecyclerViewSearch.setAdapter(firebaseRecyclerAdapter);
            return false;
        }
    });


public static class AllRegisterUserViewHolder extends RecyclerView.ViewHolder {

        View mView;

        ImageView mImgProfileImage = (ImageView) itemView.findViewById(R.id.iv_searchProfilePic);
        TextView mTxtProfileName = (TextView) itemView.findViewById(R.id.txt_searchProfileName);

        public …
Run Code Online (Sandbox Code Playgroud)

firebase searchview recycler-adapter android-recyclerview firebase-realtime-database

5
推荐指数
1
解决办法
735
查看次数