这应该很简单但是我在使用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("");
}
没有一个叫我的祝酒词。
感谢。
答案 0 :(得分:0)
在文档中,我注意到使用onItemSelectedListener
是有效的。
对于自动完成TextView,您应该使用onItemClickListener
,因为它比其他更正确,因为更多地为ListViews
指定了ItemSelect。
检查this tutorial如何使用它。别忘了初始化你的听众!