Раскрывающийся список отображается при втором нажатии - AutoCompleteTextView с раскрывающимся списком

У меня есть AutoCompleteTextView с простым раскрывающимся списком в моем Home.activity и это прекрасно работает, но теперь мое приложение почти готово к публикации, я хочу удалить некоторые глюки пользовательского интерфейса, так что вот один.
Выпадающий на AutoCompleteTextView содержит 8 названий городов, и он выглядит / прекрасно работает, но при первом нажатии на AutoCompleteTextview, клавиатура всплывает, а затем при повторном нажатии появляется выпадающий список.
Я хочу, чтобы этот раскрывающийся список появлялся при первом нажатии на клавиатуре.

Вот мой код реализации.

<AutoCompleteTextView
        android:layout_width="200dp"
        android:layout_height="30dp"
        android:hint="@string/select_city"
        android:id="@+id/acT1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:background="@drawable/shape1"
        android:textAlignment="center"
        app:layout_constraintVertical_bias="0.25"
        android:dropDownHeight="155dp"
        android:cursorVisible="false"
        android:maxLines="1"/>

final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(
                this, android.R.layout.simple_list_item_1, getResources()
                .getStringArray(R.array.Loc_names));
        textView1 = findViewById(R.id.acT1);
        textView1.setAdapter(arrayAdapter);
        textView1.setThreshold(1);
        textView1.setCursorVisible(false);
        textView1.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                textView1.showDropDown();
                textView1.setCursorVisible(false);
                hideKeyBoard(view);
                selection = (String) parent.getItemAtPosition(position);
                TastyToast.makeText(getApplicationContext(), selection,
                TastyToast.LENGTH_LONG, TastyToast.SUCCESS);
                imageView.setAlpha(.8f);
            }


        });
        textView1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(final View arg0) {
                textView1.showDropDown();
                textView1.setCursorVisible(true);
                //imageView.setAlpha(.8f);
            }
        });

Вот GIF.

2 ответа

Просто добавьте Focus FALSE и Onclickable TRUE в AutoCompleteTextView

Попробуй с сенсорным слушателем

textview1.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub

        if(event.getAction() == MotionEvent.ACTION_UP){
            touching = false;
        }else if(event.getAction() == MotionEvent.ACTION_DOWN){
            touching = true;
            handle event
        }
        return true;
    }
Другие вопросы по тегам