我的应用程序没有加载工具栏选项

时间:2017-08-30 15:09:18

标签: android

我正在搜索栏,但我发现了一个问题,因为如果我将代码放在MainActivity的末尾,它就不会加载选项。

public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
    return super.onCreateOptionsMenu(menu);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){

        SearchManager manager = ( SearchManager ) getSystemService ( Context.SEARCH_SERVICE );
        SearchView search = (SearchView) menu.findItem(R.id.action_search).getActionView();
        search.setSearchableInfo(manager.getSearchableInfo(getComponentName()));
        search.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }

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

我该怎么办?我做错了吗?

提前致谢

2 个答案:

答案 0 :(得分:1)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){ 

从未达到过,你的退货声明就在此之前。其余的看起来很好。

答案 1 :(得分:1)

你的逻辑是在return语句之后,因此,从未达到过。试试这个:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_menu, menu);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB){

        SearchManager manager = ( SearchManager ) getSystemService ( Context.SEARCH_SERVICE );
        SearchView search = (SearchView) menu.findItem(R.id.action_search).getActionView();
        search.setSearchableInfo(manager.getSearchableInfo(getComponentName()));
        search.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                return false;
            }

            @Override
            public boolean onQueryTextChange(String query) {
                return false;
            }
        });
    }
    return super.onCreateOptionsMenu(menu);
}