代码之家  ›  专栏  ›  技术社区  ›  Mathias Conradt

选择列表在对话框的AutoCompleteTextView中被切断

  •  6
  • Mathias Conradt  · 技术社区  · 15 年前

    只有当我长按建议列表中的一个项目后,列表才会完整显示(截图(右)

    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);
    ...
    

    一种解决方法是以某种方式发送一个运动事件来模拟一个触摸(但不选择)列表项。有没有具体的解决方案?

    5 回复  |  直到 15 年前
        1
  •  1
  •   Mathias Conradt    15 年前

    现在我假设这是一个bug,我已经在这里存档了: http://code.google.com/p/android/issues/detail?id=9917

    编辑:

    我想到的一个解决方法是将对话框扩展到屏幕的最底部,但使背景保持透明,因此它看起来和现在一样,但实际上有一个不会切断列表的高度。我会试试的。。。

        2
  •  1
  •   Procurares    12 年前

    AutoCompleteTextView
    放一些空的 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>
    

    它使我的小对话框像一个全屏对话框,但实际上,“尾巴”并没有显示,我的下拉列表并没有削减,因为它有足够的地方显示下拉列表项目。

        3
  •  1
  •   Piotr Labunski v_d123    5 年前
    if (yourlist.size() > 5) {
        yourtextview.setDropDownHeight(562);
    } else {
        yourtextview.setDropDownHeight(anytextview.getHeight() * yourlist.size());
    }
    
    //Workaround ->  Write this condition under on click and on focus change of your autocomplete text view 
    
        4
  •  0
  •   iandisme    15 年前

    android:clipChildren false 在活动顶部的对话框视图上?

        5
  •  0
  •   Aaron Klotz    13 年前

    我已经成功地做到了这一点,但它并不漂亮。

    SimpleCursorAdapter.newView() 方法,走上 ViewParent 直到我到达根 View ,然后修改其 WindowManager.LayoutParams FLAG_LAYOUT_NO_LIMITS 旗帜。

        6
  •  0
  •   Community CDub    8 年前

    如图所示: Scrolling drop-down-menu over the keyboard in autocompletetextview

    android:dropDownHeight

    只有在对话框中使用AutoCompleteTextView时,才会出现此问题