我想在AutoCompleteTextView的下拉建议列表的右侧添加PgUp / PgDn按钮。我使用上面描述的布局创建了我自己的弹出窗口(布局xml如下所示)。有谁能让我知道如何用我自己的弹出窗口替换AutoCompleteTextView的下拉列表视图?
这是我想要的样子:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="10">
<ListView
android:id="@+id/listView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="9"
android:background="@drawable/frame">
</ListView>
<RelativeLayout android:id="@+id/pageUpDown" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent">
<ImageButton android:id="@+id/pageUp" android:src="@drawable/pct_up_icon" android:background="@null" android:layout_width="48dp" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:text="" android:layout_height="48dp"></ImageButton>
<ImageButton android:id="@+id/pageDown" android:src="@drawable/pct_down_icon" android:background="@null" android:layout_width="48dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:text="" android:layout_height="48dp"></ImageButton>
</RelativeLayout>
</LinearLayout>
答案 0 :(得分:2)
为了简单地完成这项工作,我建议您设计布局(使用两个按钮)并设置为AutoCompleteTextView
,如下所示:
android:completionHintView="@layout/your_custom_view"
稍后,您可以自定义按钮的单击事件以执行所需的分页操作。
答案 1 :(得分:0)
前一段时间我自己问了这个问题,并自己找到了解决方案。点击这里:
答案 2 :(得分:0)
使用AutocompleteTextView,设置高阈值“setTreshold()”并在按钮点击时调用showDropDown()
代码:
String[] values = {
"abc_0", "def_0", "ghi_0",
"abc_1", "def_1", "ghi_1",
"abc_2", "def_2", "ghi_2",
"abc_3", "def_3", "ghi_3",
};
final AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.actv);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, values);
actv.setAdapter(adapter);
actv.setThreshold(256); // if not enough set Integer.MAX_VALUE
findViewById(R.id.button).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
CharSequence constraint = actv.getText();
adapter.getFilter().filter(constraint);
actv.showDropDown();
}
});