ActionBarCompat:如何设置SearchItem Handler?

时间:2014-01-24 18:27:26

标签: android android-actionbar android-actionbar-compat

我基于this教程将ActionBarCompat添加到我的项目中。但是当我点击搜索按钮时,我对如何为用户输入提供事件感到困惑。

public class MainActivity extends ActionBarActivity {

ActionBar ab;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    ab = getSupportActionBar();
    ab.setTitle("Test");
}

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

    MenuItem searchItem = menu.findItem(R.id.action_search);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);

    return super.onCreateOptionsMenu(menu);
}

}

1 个答案:

答案 0 :(得分:0)

我发现从用户那里得到的输入是使用实现SearchView.OnQueryTextListener,就像我从here找到的那样。不要忘记在onCreateOptionsMenu(菜单菜单)方法中将此监听器添加到SearchView,这样:

 @Override

public boolean onCreateOptionsMenu(菜单菜单){

mSearchView =(SearchView)MenuItemCompat.getActionView(searchItem); mSearchView.setOnQueryTextListener(本);

return true;

}