Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.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 Sherlock ActionBar SearchView在多个片段中不工作_Android_Android Fragments_Actionbarsherlock_Searchview - Fatal编程技术网

Android Sherlock ActionBar SearchView在多个片段中不工作

Android Sherlock ActionBar SearchView在多个片段中不工作,android,android-fragments,actionbarsherlock,searchview,Android,Android Fragments,Actionbarsherlock,Searchview,我非常需要你,因为在过去的4天里我一直被困在这个问题上 所以,事情是这样的 我有一个sherlock片段活动,我从中调用viewpager中的六个片段 现在,我想操纵sherlock操作栏,这取决于所选的选项卡 因此,对于前3个选项卡,我想显示searchview和overflow菜单图标 为此,我到目前为止已经尝试过: 我非常需要你,因为在过去的4天里我一直被困在这个问题上 所以,事情是这样的 我有一个sherlock片段活动,我从中调用viewpager中的六个片段 现在,我想操纵sherl

我非常需要你,因为在过去的4天里我一直被困在这个问题上

所以,事情是这样的

我有一个sherlock片段活动,我从中调用viewpager中的六个片段

现在,我想操纵sherlock操作栏,这取决于所选的选项卡

因此,对于前3个选项卡,我想显示searchview和overflow菜单图标

为此,我到目前为止已经尝试过:

我非常需要你,因为在过去的4天里我一直被困在这个问题上

所以,事情是这样的

我有一个sherlock片段活动,我从中调用viewpager中的六个片段

现在,我想操纵sherlock操作栏,这取决于所选的选项卡

因此,对于前3个选项卡,我想显示searchview和overflow菜单图标

为此,我到目前为止已经尝试过:

1) 调用
设置选项菜单(true)在每个片段中。
2) 在每个片段中添加了
onCreateOptions菜单()。和

那么我就实现了我想要的

现在,我希望在单击searchview时,当按下back时,它应该会展开并折叠。为了实现这一点,我在前3个片段中添加了这一点,并实现了逻辑。(在每个片段中创建
onPrepareOptionMenu()
,并添加
onQueryTextChange(“”;
方法)

片段代码::

@Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) 
    {
        super.onCreateOptionsMenu(menu, inflater);

        inflater.inflate(R.menu.menu, menu);
        MenuItem searchItem = menu.findItem(R.id.menu_item_search);
        SearchView searchView = (SearchView) searchItem.getActionView();
        searchView.setQueryHint("Search for Products");
        searchView.setOnQueryTextListener(this);
        searchView.setIconifiedByDefault(false);
       }



@Override
    public void onPrepareOptionsMenu(Menu menu) 
    {
        super.onPrepareOptionsMenu(menu);
        onQueryTextChange("");
    }
    @Override
    public boolean onQueryTextSubmit(String query) 
    {
        return true;
    }

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

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
   <item
        android:id="@+id/menu_item_search"
        android:icon="@drawable/abs__ic_search"
        android:showAsAction="ifRoom|collapseActionView"
        android:actionViewClass="com.actionbarsherlock.widget.SearchView" 
        android:title="Search Products">
    </item> 
    <item
        android:id="@+id/root_menu"
        android:icon="@drawable/abs__ic_menu_moreoverflow_normal_holo_light"
        android:showAsAction="always"
        android:title="More">
        <menu>
            <item
                android:id="@+id/menu_Home"
                android:icon="@drawable/home"
                android:showAsAction="never"
                android:title="Home"/>
            <item
                android:id="@+id/menu_favourite"
                android:icon="@drawable/favourite"
                android:showAsAction="never"
                android:title="Favourite"/>
            <item
                android:id="@+id/menu_Balance"
                android:icon="@drawable/balance"
                android:showAsAction="never"
                android:title="Balance"/>
            <item
                android:id="@+id/menu_logout"
                android:icon="@drawable/btn_logout"
                android:showAsAction="never"
                android:title="Logout"/>
        </menu>
    </item>
</menu>

问题::(在预蜂窝设备上)

现在,当我单击第一个片段的searchview时,它并没有被展开,但对片段2和片段3效果良好

步骤::

1) 直接转到片段1,单击searchview,不展开
2) 直接转到片段2选项卡上(不要在第二个片段中单击searchview),返回片段1,搜索视图展开
3) 直接转到片段3选项卡上(不要单击第三个片段中的搜索视图),返回片段1,搜索视图展开

是否存在与searchview焦点相关的任何问题?还是我以某种不寻常的方式调用了
supportInvalidateOptionsMenu()

如果你还需要我的帮助,请告诉我。。。 请指导我的实施。。。你知道为什么会发生这种奇怪的行为吗?如有任何建议/解释,将不胜感激

请在这个问题上帮助我。。。。 先谢谢你

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
   <item
        android:id="@+id/menu_item_search"
        android:icon="@drawable/abs__ic_search"
        android:showAsAction="ifRoom|collapseActionView"
        android:actionViewClass="com.actionbarsherlock.widget.SearchView" 
        android:title="Search Products">
    </item> 
    <item
        android:id="@+id/root_menu"
        android:icon="@drawable/abs__ic_menu_moreoverflow_normal_holo_light"
        android:showAsAction="always"
        android:title="More">
        <menu>
            <item
                android:id="@+id/menu_Home"
                android:icon="@drawable/home"
                android:showAsAction="never"
                android:title="Home"/>
            <item
                android:id="@+id/menu_favourite"
                android:icon="@drawable/favourite"
                android:showAsAction="never"
                android:title="Favourite"/>
            <item
                android:id="@+id/menu_Balance"
                android:icon="@drawable/balance"
                android:showAsAction="never"
                android:title="Balance"/>
            <item
                android:id="@+id/menu_logout"
                android:icon="@drawable/btn_logout"
                android:showAsAction="never"
                android:title="Logout"/>
        </menu>
    </item>
</menu>