2

があり、AutoCompleteTextView設定しましたが、検索ボタンOnItemClickを設定したいと思います。OnKeyListener検索しましたが、私を助けるものは何も見つかりませんでした。

ここに私のオートコンプリートxmlがあります:

    <AutoCompleteTextView 
                android:id="@+id/autocomplete_stores" 
                android:layout_width="fill_parent" 
                android:layout_height="60dp" 
                android:layout_marginBottom="5dp"
                android:hint="Stores Search:" 
                android:singleLine="true" 
                android:ellipsize="end"
                android:imeOptions="actionSearch" />

そしてJavaコード:

AutoCompleteTextView searchStores;
String[] searchStoresString; 
ArrayAdapter<String> searchStoresAdapter;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.stores);

    findviews();
    autocomplete();

    searchStores.setOnItemClickListener(this);
}

public void onItemClick(AdapterView<?> adapterView, View view, int position, long id)
{ 
    String str = (String) adapterView.getItemAtPosition(position);
    Toast.makeText(this, str + " selected", Toast.LENGTH_SHORT).show();
}

private void findviews()
{
    searchStores = (AutoCompleteTextView) findViewById(R.id.autocomplete_stores);
}

private void autocomplete()
{
    searchStoresString = getResources().getStringArray(R.array.stores_array);
    searchStoresAdapter = new ArrayAdapter<String>(this, R.layout.list_item, searchStoresString);

    searchStores.setThreshold(1); 
    searchStores.setAdapter(searchStoresAdapter);
}

すべてが正常に機能しています。アドバイスありがとう。

4

2 に答える 2

0

あなたが試してみてくださいsetKeyListener()?? さらに助けを求める

于 2012-07-05T07:14:30.583 に答える
0

AutoCompleteTextView にsetKeyListener()を設定するようにしてください:

edtTitle = (AutoCompleteTextView) findViewById(R.id.edtTitle);
        edtTitle.setOnKeyListener(new OnKeyListener() {

            @Override
            public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
                // TODO Auto-generated method stub

                Toast.makeText(Current_Activity.this, arg1+"",
                Toast.LENGTH_LONG).show();
                // return true; - if consumed
                return false;
            }
        });
于 2012-07-05T07:26:49.727 に答える