2010-07-18 33 views
6

我有一個對話窗口,覆蓋整個屏幕高度的1/3,並顯示在我的活動之上。該對話框包含兩個AutoCompleteTextView字段。在對話框中的AutoCompleteTextView中截斷的選擇列表

我面臨的問題是,當用戶開始在AutoCompleteTextView中輸入內容時,包含所有建議的列表只顯示到對話框的底端,但不會超出即使列表更長。看起來它被切斷了。 (屏幕截圖左)

只有當我長按建議列表中的一個項目後,列表纔會以全長顯示。 (截圖右)

Screenhot爲:http://img704.imageshack.us/i/dialogdropdown.png/ screenshot http://img704.imageshack.us/img704/1893/dialogdropdown.png

如何解決此行爲,以便該列表顯示了全長從一開始,當用戶開始輸入的東西嗎?

代碼明智的沒有什麼特別的,我要做的就是:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getContext(), R.layout.nav_route_autocomplete_row, locStrings);   
AutoCompleteTextView txtStartPos = (AutoCompleteTextView) findViewById(R.id.txtStartPos); 
txtStartPos.setAdapter(adapter); 
... 

一個解決方法的想法是莫名其妙派遣一個運動事件來模擬觸摸(但當時沒有,雖然選擇)列表項目之一。代碼解決方案中的任何具體想法,任何人?

回答

1

現在我假定這是一個錯誤,我已經在這裏提交:http://code.google.com/p/android/issues/detail?id=9917

但是,如果任何人知道解決這個問題,我會非常感激,並很高興能換它的一些賞金點。

編輯:

是來到我的腦海

一個解決辦法,現在是到對話框延伸到屏幕的最底部,但離開的背景透明的,所以它看起來象現在一樣,但實際上具有的高度不會切斷清單。我會試一試...

0

只是在黑暗中拍攝,但你有沒有嘗試過設置android:clipChildrenfalse上的對話視圖頂部你的活動?

+0

我試過爲我的對話框佈局的非常外層的LinearLayout設置屬性,也爲AutoCompleteTextView是(子)子項的其他所有其他屬性設置屬性。但它沒有幫助。由於它是一個對話框,它應該更像window.setClipChildren(false),但不幸的是窗口不存在這樣的方法。或者像window.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);但這一切都沒有幫助。 – 2010-08-04 03:20:16

0

我已經成功實現了這一點,但它並不漂亮。

我結束了我的首要方法SimpleCursorAdapter.newView(),走上了ViewParent層次結構,直到我達到根View,然後通過在FLAG_LAYOUT_NO_LIMITS標誌或運算修改其WindowManager.LayoutParams

每次顯示下拉菜單時都需要重做。

1

不久前我遇到了這個問題。我與AutoCompleteTextView進行了小對話,在下拉列表中有10個以上的項目。這份清單已被切斷。我的解決辦法是:
將一些空View與參數

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 
<!-- 
Some Views placed here 
--> 
     <View 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:visibility="invisible" /> 

</LinearLayout> 

這讓我的小對話框像一個全屏幕對話框我的對話框佈局文件,但actualy說,「尾巴」並沒有表現出和我的下拉WASN根本沒有切割,因此它有足夠的地方顯示DropDown的列表項目。

0

正如在這裏看到:Scrolling drop-down-menu over the keyboard in autocompletetextview

您可以使用屬性安卓dropDownHeight的AutoCompleteTextView來迫使它是一定的高度的。這不是真的解決了這個問題,而是我能找到的最好的。

注意:只有在對話框內使用AutoCompleteTextView時,纔會出現此問題。當它用於活動或片段的佈局時,它可以正常工作。

這個問題從薑餅到果凍豆一直存在。

相關問題