Мое приложение реализует HashMap
, таким образом, что, когда key
набирается в AutoCompleteTextView
editText
, и пользователь нажимает dropdown
элемент, значение получает отображается на textView
.Нажал выпадающий пункт в AutoCompleteTextView не отвечает на первый щелчок
Единственная проблема заключается в том, что выпадающий элемент с щелчком не отвечает на первый клик (это происходит только один раз, после того, как приложение запустилось, но затем работает нормально), пользователь ДОЛЖЕН повторно ввести key
и нажать перед отображением значения.
Любые предложения относительно того, как разрешить это?
код Java:
public class MainActivity extends ActionBarActivity
{
Map<String, String> map = new HashMap<String, String>();
private EditText autocomplete_searchField;
private TextView displayField;
String note;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
autocomplete_searchField = (AutoCompleteTextView) findViewById(R.id.autocomplete_searchField);
// Gets a reference to the AutoCompleteTextView in the layout
final AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_searchField);
// Gets the string array
String[] musicNote = getResources().getStringArray(R.array.music_notes_array);
// Creates the adapter and set it to the AutoCompleteTextView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, musicNote);
textView.setAdapter(adapter);
displayField = (TextView) findViewById(R.id.displayField);
textView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id){
displayField.setText(map.get(adapterView.getItemAtPosition(position).toString()));
String note = autocomplete_searchField.getText().toString();
displayField.setText(map.get(note));
map.put("Doe", "a deer, a female deer");
map.put("Ray", "a drop of golden sun");
}
Большинство из соответствующих решений, которые я видел кнопку лечить, но не AutoCompleteTextView пунктов раскрывающихся. Я также попытался настроить фокус как в JAVA, так и в XML, но это не решило проблему.
Я пробовал ваш подход, но удачи в этом. Не уверен, что вы понимаете, чего я пытаюсь достичь. Мой случай похож на следующие ссылки, за исключением их кнопки, и выпадающий элемент my: http://stackoverflow.com/questions/20755322/button-listener-not-get-registered-on-first-click-in-android http : //stackoverflow.com/questions/5919849/android-button-needs-two-click-for -action http://stackoverflow.com/questions/28502091/android-button-only-working-at-second-time-time- нажмите Я пробовал эти подходы, но не повезло. – Emzor
Как я уже сказал в своем ответе, вы допустили некоторые ошибки в своем коде, например, в ваш код есть два 'AutoCompleteTextView', и вы используете только один. Возможно, в этом и проблема. Обратите внимание на код, на который я ответил, и вижу, что я удалил один из них и сделал что-то еще. Если он не работает, разместите весь свой код, чтобы я мог помочь вам. –