0

私はこのコードブロックを使用しています:

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                Cidade cidade = (Cidade) arg0.getSelectedItem();
                List<Bairro> bairros = RachandoTaxiController.getInstancia().getBairros(cidade);
                myAutoComplete = (AutoCompleteTextView) getView().findViewById(R.id.completeOrigem);
                myAutoComplete.addTextChangedListener(textWatcher);
                myAutoComplete.setAdapter(new ArrayAdapter<Bairro>(getActivity(), android.R.layout.simple_dropdown_item_1line, bairros));

            }
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub

            }
        });

そこにスピナーがあり、アイテムを選択すると、スピナーのユーザー選択に基づいて AutoCompleteTextView (holoeverywhere から) を設定する必要があります。静的に行うと、機能します。私のオートコンプリートテキストビューの回答は期待どおりです。しかし、それを onItemSelected に入れると、autocompletetextview はまだ edittext のようになります....何も起こりません...どうすれば解決できますか?

4

1 に答える 1

0

入れるべきだと思います

myAutoCompl = (AutoCompleteTextView) getView().findViewById(R.id.completeOrigem);
myAutoComplete.addTextChangedListener(textWatcher);

これらの行はOnItemClickListenerの外側にあります。アイテムをクリックするたびに、findViewById() から View の新しいインスタンスが返されます。TextChangedListener についても同様です。したがって、おそらく最良の選択はonCreate()メソッドであり、それが機能するはずです。

于 2013-03-20T20:18:56.087 に答える