Android Spinner не отображает раскрывающийся список при нажатии - PullRequest
0 голосов
/ 23 мая 2019

У меня есть пользовательское всплывающее окно, которое я создал в XML, и в этом всплывающем окне есть спиннер, который должен иметь раскрывающийся список при нажатии.Список динамически заполняется массивом.Когда я нажимаю на счетчик в приложении, он вообще не показывает список, а касание в основном ничего не делает, а просто выделяет полосу счетчика.

Однако, если я заполняю счетчик из предварительно созданных строк.XML-массив, он работает просто отлично.Проблема в том, что мне нужно, чтобы список динамически изменялся, и я не могу сделать это с помощью предварительно созданного массива.

Я пролистал страницы и страницы других сообщений stackoverflow, которые рассказывают о похожих проблемах, и по сути перепробовал всеПредположение, что я сталкивался, но не повезло.Я также следовал многим различным учебным пособиям о том, как правильно создавать счетчики, и каждый раз, когда происходит то же самое.

Вот XML-код для настраиваемого всплывающего окна и код активности Java, используемый для инициализации счетчика.

Layout xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="300dp"
    android:layout_height="200dp"
    android:background="#474747"
    android:padding="5dp"
    android:layout_gravity="center">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textColor="@color/white"
            android:text="Enter Current Floor #"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"/>
    </LinearLayout>
    <LinearLayout
        android:layout_marginTop="15dp"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <Spinner
            android:id="@+id/spinner"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@android:drawable/btn_dropdown"
            android:spinnerMode="dropdown"/>

    </LinearLayout>

    <Button
        android:id="@+id/btnGo"
        android:onClick="goClicked"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="GO"
        android:layout_marginTop="25dp"
        android:layout_gravity="center_horizontal"
        android:textColor="@color/white"
        android:backgroundTint="#14B5DB"/>

</LinearLayout>

Это код активности:

Dialog myDialog;

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myDialog = new Dialog(this);

        myDialog.setContentView(R.layout.custompopup);

        addItemsOnSpinner();

}

public void addItemsOnSpinner() {

        Spinner dropdown = (Spinner) 
        myDialog.findViewById(R.id.spinner);

        List<String> list = new ArrayList<String>();
        list.add("list 1");
        list.add("list 2");
        list.add("list 3");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String> . 
        (myDialog.getContext(),
                android.R.layout.simple_spinner_item, list);

 dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        dropdown.setAdapter(dataAdapter);
    }

Нет сообщений об ошибках или чего-либо еще, просто не отображается список при нажатии на спиннер.Извините за плохое форматирование, это мой первый код здесь.Любая помощь будет принята с благодарностью, так как я уже некоторое время пытаюсь решить эту проблему, и, похоже, я не могу найти решение своей проблемы.

...