0

我在我的 Android 应用程序中使用 searchview,我想添加一个用户按下以开始搜索的按钮。根据我在 Internet 上阅读的内容,我可以使用setSubmitButtonEnabled来调用提交按钮,而不是在布局文件中放置按钮。这是我的代码:

public void setSubmitButtonEnabled (boolean enabled) {

}

我将 setSubmitButtonEnabled 放在菜单充气机中,如下所示:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.mylist, menu);

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    searchView.setIconifiedByDefault(false);

    setSubmitButtonEnabled(true);

    return true;
}

显然我做得不对,因为当我启动我的应用程序时,我在屏幕上看不到任何提交按钮。我的代码中缺少什么或有什么问题?提交按钮应该出现在键盘上还是屏幕上?谢谢你。

4

2 回答 2

8

你需要打电话

searchView.setSubmitButtonEnabled(true)

你为什么要创建自己的没有主体的版本并期望它做任何事情?

于 2013-07-08T05:54:46.470 回答
0

为此用途

searchView=findViewById(R.id.search_box);
searchView.setSubmitButtonEnabled(true);

对于提交按钮图标使用

app:goIcon="@drawable/ic_arrow_forward_black_24dp"

对于 SearchView 默认展开

app:iconifiedByDefault="false"
于 2020-05-16T14:04:12.837 回答