OnItemSelected未被调用

时间:2014-12-15 21:07:58

标签: android

这应该很简单但是我在使用AutoCompleteTextView调用OnItemSelected方法时遇到了很多麻烦。

public class MainActivity extends ActionBarActivity implements OnItemSelectedListener {

    private List<Contact> contactsList = new ArrayList<>();
    private List<String> forAutoComplete = new ArrayList<>();
    private List<Contact> selectedList = new ArrayList<>();
    AutoCompleteTextView textView;

@Override protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
            android.R.layout.simple_dropdown_item_1line, forAutoComplete);
    textView = (AutoCompleteTextView)
            findViewById(R.id.editText);
    textView.setAdapter(adapter);
    textView.setOnItemSelectedListener(this);
}

@Override
public void onItemSelected(AdapterView<?> parent, View v, int position, long id) {
    Toast.makeText(parent.getContext(),
            "OnItemSelectedListener : " + parent.getItemAtPosition(position).toString(),
            Toast.LENGTH_SHORT).show();
    textView.setText("");
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
    Toast.makeText( this,
            "Nothing selected",
            Toast.LENGTH_SHORT).show();
    textView.setText("");
}

没有一个叫我的祝酒词。

感谢。

1 个答案:

答案 0 :(得分:0)

在文档中,我注意到使用onItemSelectedListener是有效的。

对于自动完成TextView,您应该使用onItemClickListener,因为它比其他更正确,因为更多地为ListViews指定了ItemSelect。

检查this tutorial如何使用它。别忘了初始化你的听众!