Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当我的搜索栏小部件被单击时,而不是当我按enter键时,如何让我的可搜索活动启动?_Android_Listview_Widget_Searchview - Fatal编程技术网

Android 当我的搜索栏小部件被单击时,而不是当我按enter键时,如何让我的可搜索活动启动?

Android 当我的搜索栏小部件被单击时,而不是当我按enter键时,如何让我的可搜索活动启动?,android,listview,widget,searchview,Android,Listview,Widget,Searchview,我在地图视图的顶部有一个搜索栏小部件,我想要的是,当我单击该小部件时,地图视图被一个listview替换,它在我输入查询时动态更改显示的项目,并将搜索栏小部件保持在顶部。然后,当我按下搜索栏小部件上的后退箭头时,我返回到mapview。到目前为止,我已经按照教程实现了搜索栏,当我按下enter键时,它会启动另一个包含我的listview的活动,但这不是我想要的,因为搜索栏小部件消失了 我的问题是,有没有一种方法可以使用searchbar小部件来实现这一点,或者我应该实现edittext并在单击e

我在地图视图的顶部有一个搜索栏小部件,我想要的是,当我单击该小部件时,地图视图被一个listview替换,它在我输入查询时动态更改显示的项目,并将搜索栏小部件保持在顶部。然后,当我按下搜索栏小部件上的后退箭头时,我返回到mapview。到目前为止,我已经按照教程实现了搜索栏,当我按下enter键时,它会启动另一个包含我的listview的活动,但这不是我想要的,因为搜索栏小部件消失了


我的问题是,有没有一种方法可以使用searchbar小部件来实现这一点,或者我应该实现edittext并在单击edittext时更改片段

我也遇到了同样的问题,我的实现方式是在活动1中有一个普通的搜索菜单图标,单击它会打开另一个ListViewActivity

SearchManager searchManager =
            (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    final MenuItem searchItem = menu.findItem(R.id.search);
    final SearchView searchView =
            (SearchView) searchItem.getActionView();
    searchView.setSearchableInfo(
            searchManager.getSearchableInfo(getComponentName()));

    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            // Some code here
            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            // Some code here
            return false;
        }
    });

    MenuItemCompat.setOnActionExpandListener(searchItem, new MenuItemCompat.OnActionExpandListener() {
        @Override
        public boolean onMenuItemActionExpand(MenuItem item) {
            // Some code here
            return true;
        }

        @Override
        public boolean onMenuItemActionCollapse(MenuItem item) {
            // Some code here
            return true;
        }
    });

    // Get the search close button
    ImageView closeButton = (ImageView) searchView.findViewById(R.id.search_close_btn);
    closeButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // Some code here

            EditText et = (EditText) findViewById(R.id.search_src_text);
        }
    });
您可以在searchView内部重写textview,这样就不必实现自定义的edittext和close and back按钮