【问题标题】:SearchView on AppCompat v21 is unresponsive to touchAppCompat v21 上的 SearchView 对触摸无响应
【发布时间】:2014-11-06 17:27:00
【问题描述】:

在我的ActionBarActivity 我有这个代码:

  @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.near_location_menu, menu);
        MenuItem searchItem = menu.findItem(R.id.action_user_search);
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);

        setupNewSearchView(searchItem, searchManager);
        return true;
    }

    private void setupNewSearchView(final MenuItem searchItem, SearchManager searchManager) {

        SearchView searchView = (SearchView)  MenuItemCompat.getActionView(searchItem);
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

        if ((getResources().getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_LARGE) {
            searchView.setIconifiedByDefault(false);
        } else {
            searchView.setIconifiedByDefault(true);
        }

        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            public boolean onQueryTextChange(String arg0) {
                return false;
            }

            public boolean onQueryTextSubmit(String arg0) {
                if (searchItem != null) {
                    searchItem.collapseActionView();
                }
                return false;
            }
        });

    }

现在SearchView 应该只在我转到特定的Fragment 时显示,在那个Fragment 中,我这样做:

   @Override
    public void onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);

          menu.findItem(R.id.action_user_search).setVisible(true);
          menu.findItem(R.id.action_view_spots).setVisible(false);
          menu.findItem(R.id.action_refresh).setVisible(false);
          getActivity().supportInvalidateOptionsMenu();

    }

问题:

当我转到Fragment 时,SearchView 确实显示,但触摸时没有任何反应。它不会打开或响应。我做错了什么?

补充信息:

ActionBarActivity:

import android.support.v7.widget.SearchView;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;

Fragment:

import android.view.Menu;
import android.support.v4.app.ListFragment;

【问题讨论】:

    标签: android android-actionbar searchview android-appcompat


    【解决方案1】:

    您是否在您的onCreateView 上设置了setHasOptionsMenu(true)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      • 1970-01-01
      相关资源
      最近更新 更多