使用 AutoCompleteTextView 时,我可以 运行 在用户单击和用答案填充文本框之间编码吗?

When using an AutoCompleteTextView, can I run code between user clicking and populating the textbox with the answer?

我正在尝试重新创建功能,当单击 AppCompatAutoCompleteTextView 中的建议之一时,我想检查变量是否设置为特定值,如果是,请忽略该单击并且不填充文本框,否则点击没问题,文本框也填好了。

抱歉,这对我来说是一个新的小部件,所以我目前仍在学习这些方法,它看起来并不明显。

谢谢,

您可以通过绑定 AutoCompleteTextView 来做到这一点setOnItemClickListenerlistner

public class MainActivity extends AppCompatActivity {

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

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_dropdown_item_1line, COUNTRIES);
        AutoCompleteTextView textView = (AutoCompleteTextView)
            findViewById(R.id.countries_list);
        textView.setAdapter(adapter);



        textView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                // Check here if selected text is valid
                // otherwise remove the text from textview
            }
        });

    }

   private static final String[] COUNTRIES = new String[] {
        "Belgium", "France", "Italy", "Germany", "Spain"
   };
}