使用 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"
};
}
我正在尝试重新创建功能,当单击 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"
};
}