2011-05-07 77 views
1

的一部分[這是在Android開發者論壇上發佈,以及]搜索查看作爲AlertDialog

我試圖將搜索小工具[SearchView基本上在一個AlertDialog的 標題的一部分。這是允許的,即它會起作用嗎?該 想法是讓用戶輸入搜索詞,並在鍵盤上時,他/她按下 的輸入鍵,通過一個字符串數組使用進入到 搜索的搜索詞,結果顯示爲一個 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。

回答

0

我在這裏猜測,但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沒有任何進一步的行動。不幸的是,

+0

沒有幫助。也許,我不是這樣想的。下面貼是代碼.... \t \t \t dialogBu​​ilder.setOnKeyListener(新OnKeyListener(){ @覆蓋 公共布爾安其(DialogInterface對話框,INT的keyCode, \t \t KeyEvent的事件){ \t // TODO自動 - 生成方法存根 \t Log.v(TAG,「onKey .............」); \t return true; }}); 我甚至沒有看到OnKeyListener被解僱...... – 2011-05-08 04:00:16