4

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>
4

3 に答える 3

2

To get this done simply, I would recommend you to design your layout (with two buttons) and set to your AutoCompleteTextView as below:

android:completionHintView="@layout/your_custom_view"

Later, you may customize your buttons' click events to perform the desired paging actions.

于 2012-11-19T16:58:34.413 に答える
0

I asked this question myself some time ago, and found a solution myself aswell. Check here:

Style on AutoCompleteTextView dropdown

于 2012-11-19T16:57:41.250 に答える
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();
}
}); 
于 2013-12-19T07:06:06.940 に答える