11

对话框弹出窗口位于此处

自动完成结果如何在弹出视图结束时停止在这里

我希望结果从对话框视图下拉到父视图。如果我不能这样做,那么我想将 AutoComplete 给我的结果数量限制为两个。

这是我的弹出菜单的点击监听器。

addDialog.setContentView(R.layout.shoppinglistadd);

/**Capture the AutoCompleteTextView widget*/
final AutoCompleteTextView autoCompleteTV 
  = (AutoCompleteTextView) addDialog.findViewById(R.id.productEnteredShop);
/**Fills the autocomplete with possibilities*/
String[] acArray = getResources().getStringArray(R.array.completeFoodsList);
/**Create a new ArrayAdapter and bind shoppinglistitem.xml to each list item*/
ArrayAdapter<String> autoCompleteAdapter 
  = new ArrayAdapter<String>(ShoppingList.this, R.layout.shoppinglistitem, acArray);
/**Associate the adapter with textView*/
autoCompleteTV.setAdapter(autoCompleteAdapter);
4

2 回答 2

15

AutoCompleteTextView您应该使用此方法来限制xml 中小部件的下拉高度:

android:dropDownHeight="size"

或使用它以编程方式执行

autoCompleteTextView.setDropDownHeight(int);

希望这有帮助。

于 2014-02-07T07:15:38.813 回答
4

对于项目数量的限制部分:您可以getCount()覆盖ArrayAdapter

@Override
public int getCount() {
   return Math.min(2,super.getCount());
}

这也适用于过滤。

于 2012-11-12T07:54:47.440 回答