如何将监听器添加到autocompletetextview,android?

Ton*_*ony 29 android autocompletetextview

我正在尝试添加在autocompletetextview上选择项目时会做出反应的侦听器...任何人都可以帮助// phonename是autocompletetextview

PhoneName.setOnItemSelectedListener(new OnItemSelectedListener() {

            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                Toast.makeText(check.this," selected", Toast.LENGTH_LONG).show();

            }

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

            }
        });
Run Code Online (Sandbox Code Playgroud)

Nis*_*ant 79

试试这个:

phoneName.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View arg1, int pos,
                long id) {
              Toast.makeText(check.this," selected", Toast.LENGTH_LONG).show();

        }
    });
Run Code Online (Sandbox Code Playgroud)

  • 使用这个监听器,如果我有一个包含10个项目的列表,但是在输入自动完成时只生成其中一个项目,一旦我点击该项目,`pos`参数将成为整个列表中的索引,或者只是在什么是显示? (5认同)
  • @JuiCe pos将是显示项目的索引. (2认同)
  • Toast.makeText(Check.this,adapter.getItem(position).toString(),Toast.LENGTH_SHORT).show();` (2认同)

Ter*_*rry 9

在 kotlin 中,这将是:

autoCompleteTextView.setOnItemClickListener { _, _, position, _ -> 
    // You can get the label or item that the user clicked:
    val value = adapter.getItem(position) ?: ""
    Toast.makeText(this, value, Toast.LENGTH_LONG).show();
}
Run Code Online (Sandbox Code Playgroud)

我还建议您以小写字母开头命名变量,以免将它们与类型混淆。