0

I am making a dropdown menu (spinner) inside a fragment. I also need that page to have a Recyclerview that extends and scrolls with the page, so I use the nested scroll view. Java Code:

Spinner dropdown = root.findViewById(R.id.dropdown);
    ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(),android.R.layout.simple_spinner_dropdown_item,arrayList);
    adapter.setDropDownViewResource( android.R.layout.simple_spinner_dropdown_item );
    dropdown.setAdapter(adapter);

    dropdown.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view,
                                   int position, long id) {
            Toast.makeText(getContext(),parent.getItemAtPosition(position).toString(),Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {
        }
    });

Xml Code:

<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:paddingBottom="65dp"
tools:context=".ui.dashboard.ShelvesFragment">

<androidx.appcompat.widget.LinearLayoutCompat
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

        <androidx.appcompat.widget.LinearLayoutCompat
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <Spinner
                android:id="@+id/dropdown"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:background="@color/honeyBright"
                android:textColor="#545454"
                android:spinnerMode="dropdown"
                android:layout_margin="15dp"/>

            <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/shelves"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
</androidx.core.widget.NestedScrollView>

When I run this code it just shows this as the drowpdown: Dropdown Spinner Image

It did work when I used the R.array value and the CharSequence Adapter, but I need it to be an array list and I'm not sure the exact code I used then.

Edit: I figured out that the ArrayList actually didn't have any items in it, that was why it wasn't showing up. So I just fixed that and it worked fine.

Olivia
  • 1
  • 4
  • I'm not sure what happened but it works for me now, still, if anyone has a reason why it didn't work originally that would be helpful. – Olivia Feb 01 '21 at 02:14
  • It randomly started working and then stopped working again, so I'm not sure what is going on. – Olivia Feb 01 '21 at 02:24

0 Answers0