[这也发布在Android开发者论坛上]
我正在尝试将搜索小部件[SearchView
基本上]放置在AlertDialog
的标题部分。允许吗,即会起作用吗?的
想法是让用户输入搜索词,然后按
键盘上的Enter键,以使用输入的搜索词
搜索字符串数组并将结果显示为
相同listView
正文部分中的AlertDialog
。以下是
一段相关代码。
AlertDialog.Builder dialogBuilder = new
AlertDialog.Builder(MainActivity.this);
RelativeLayout titleLayout = new RelativeLayout(this);
SearchView sv = new SearchView(this);
titleLayout.addView(sv);
dialogBuilder.setCustomTitle(titleLayout);
运行此代码时,我会在标题中看到搜索窗口小部件。
当我在搜索框中单击时,虚拟/软键盘会弹出-
但我无法输入,因为
AlertDialog
消失为当我单击它外部的任何位置时(应如此)。我想知道
如果键盘与正在启动的活动相关联
AlertDialog
而不是在AlertDialog
本身的上下文中。有任何想法吗?
TIA。
最佳答案
我在这里猜测,但是android.app.Dialog
实现了android.view.KeyEvent.Callback
,因此您应该可以覆盖public abstract boolean onKeyDown (int keyCode, KeyEvent event)
和public abstract boolean onKeyUp (int keyCode, KeyEvent event)
只需return true
即可捕获KeyEvent
而无需任何进一步的操作。
关于android - SearchView作为AlertDialog的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5924724/