在actionbarsherlock中运行searchview

时间:2014-01-26 13:15:56

标签: android actionbarsherlock searchview

我有一个sherlockactivity implementsonItemClickListener。然后我创建了一个新的ListView并将数据放入其中,我想在actionbarsherlock的顶部创建一个搜索,就像很多着名的应用程序一样。

这是我的代码:

 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
     SearchView searchView = new
             SearchView(getSupportActionBar().getThemedContext());
     menu.add("Search")
             .setActionView(searchView)
             .setShowAsAction(
                     MenuItem.SHOW_AS_ACTION_IF_ROOM
                             | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

     return true;
 }

目前,单词"搜索"显示在actionbarsherlock的顶部。如果我点击它,textfield会显示actionbarsherlock但是当我输入任何内容或点击search时(在键盘中)没有任何反应。我错过了什么?

1 个答案:

答案 0 :(得分:1)

这两个方法是您需要覆盖以控制用户在SearchView上键入内容以及用户点击搜索按钮时所需的方法:

public class MyClass extends SherlockActivity implements SearchView.OnQueryTextListener{
...

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

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

然后你需要

searchView.setOnQueryTextListener(this);