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

            }
        });

我有一个 Spinner,当我选择一个项目时,我应该根据用户对 Spinner 的选择设置我的 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 回答