[这也发布在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/

10-12 04:26