Как мне добиться наличия выпадающего списка в тексте редактирования? ПРИМЕЧАНИЕ. Я не хочу использовать счетчик

Скажите: «Я хочу, чтобы пользователи выбирали из выпадающего списка при заполнении формы, например «Пол». Могу ли я добиться именно того, что изображено на прикрепленном изображении? Если да, то как?

Как мне добиться наличия выпадающего списка в тексте редактирования? ПРИМЕЧАНИЕ. Я не хочу использовать счетчик

Почему не спиннер?

Rohit5k2 08.04.2019 12:51

используйте счетчик и добавьте фон так же, как edittext. вы получите тот же эффект.

Molly 08.04.2019 12:53
Spinner это праздное решение для этого, так как это пол, и вы не вводите его вручную. Вы можете изменить внешний вид Spinner ИЛИ Вы можете использовать ListPopUpWindow вместо Spinner
ADM 08.04.2019 12:53

Вы можете использовать счетчик с пользовательским стилем stackoverflow.com/a/37859442/5815673 или установить возможность рисования в соответствии с вашими требованиями в EditText и щелкнуть всплывающее меню или любой список в соответствии с вашими требованиями.

Shailesh 08.04.2019 12:53

Спиннер - лучшее решение.

Prafulla Nayak 08.04.2019 12:59

@ Rohit5k2, я думал, что не смогу добиться этого с помощью счетчика.

Tee-Boi 09.04.2019 11:46

@ Tee-Boi - Spinner предназначен для того же сценария, который вы ищете.

Rohit5k2 09.04.2019 11:48

@ADM Эта ссылка была просто идеальной для меня ... Большое спасибо.

Tee-Boi 09.04.2019 11:48

@Rohit5k2, Да я только сейчас это понял

Tee-Boi 09.04.2019 11:49
0
9
474
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я думаю, это должно сделать:

XML-файлы должны быть:

<LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
    android:orientation = "vertical"
    android:layout_width = "fill_parent"
    android:layout_height = "fill_parent"
    >   
<AutoCompleteTextView
    android:id = "@+id/sex"
    android:layout_width = "fill_parent"
    android:layout_height = "wrap_content"></AutoCompleteTextView>
</LinearLayout>

И MainActivity.java должен быть

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MainActivity extends Activity {

    String[] sex = { "Male", "Female" };



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
                //Create Array Adapter
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.select_dialog_singlechoice, sex);
                //Find TextView control
        AutoCompleteTextView acTextView = (AutoCompleteTextView) findViewById(R.id.sex);
        //Set the number of characters the user must type before the drop down list is shown
                acTextView.setThreshold(1);
                //Set the adapter
        acTextView.setAdapter(adapter);
    }
}

Спасибо за это, я действительно благодарен. Но я не просто хочу, чтобы пользователь что-то печатал. Я хочу, чтобы пользователь щелкнул текст редактирования и выбрал свой пол.

Tee-Boi 09.04.2019 11:28

Тогда вам следует использовать спиннер.

Keyur Kariya 09.04.2019 11:39
Ответ принят как подходящий

Вы можете добавить изображение стрелки как drawable-right/drawable-end. Установите фокусируемые свойства и видимость курсора в false, а при нажатии кнопки «Редактировать текст» откроется диалоговое окно со списком. Для фона используйте тот же фон, который вы используете для текста редактирования адреса электронной почты. Ниже приведен пример XML-кода

            <EditText
            android:id = "@+id/etCustomerType"
            android:layout_width = "match_parent"
            android:layout_height = "@dimen/_40sdp"
            android:layout_marginStart = "@dimen/_15sdp"
            android:layout_marginEnd = "@dimen/_15sdp"
            android:backgroundTint = "@color/editTextTextColor"
            android:cursorVisible = "false"
            android:drawableEnd = "@drawable/ic_dropdown"
            android:drawableRight = "@drawable/ic_dropdown"
            android:drawablePadding = "@dimen/_10sdp"
            android:focusable = "false"
            android:focusableInTouchMode = "false"
            android:paddingStart = "@dimen/_10sdp"
            android:paddingEnd = "@dimen/_10sdp"
            android:textColor = "@color/editTextTextColor"
            android:textColorHint = "@color/editTextTextColor"
            android:textCursorDrawable = "@color/editTextTextColor"
            android:textSize = "@dimen/textSizeXSmall" />

Другие вопросы по теме