如何填充 MaterialComponents.TextInputLayout 上的下拉菜单

How to populate dropdown on MaterialComponents.TextInputLayout

我知道如何填充微调器,但我无法绕过 (Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu) 知道怎么做吗?

我的资源是这样的

    <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
        <item>Mars</item>
        <item>Jupiter</item>
        <item>Saturn</item>
        <item>Uranus</item>
        <item>Neptune</item>
    </string-array>

My Layout
 
<com.google.android.material.textfield.TextInputLayout
            style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
            android:id="@+id/spinner1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginEnd="16dp"
            android:layout_marginTop="12dp"
            android:hint="@string/select_type"
            android:clickable = "true"
            android:focusable = "true"
            android:focusableInTouchMode = "false"
            android:inputType = "none"
            >
 
            <com.google.android.material.textfield.MaterialAutoCompleteTextView
                style="@style/TextInputLayoutStyle"
                android:inputType="none" />

        </com.google.android.material.textfield.TextInputLayout>
   MaterialAutoCompleteTextView MySpinner = (MaterialAutoCompleteTextView) findViewById(R.id.spinner1);

      ArrayAdapter Myadapter = new ArrayAdapter<>(this,
        android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.planets_array));
      Myadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

   MySpinner.setAdapter(Myadapter);

谢谢

您必须填充 adapter AutoCompleteTextView 而不是 TextInputLayout:

 <com.google.android.material.textfield.MaterialAutoCompleteTextView
  android:id="@+id/autocomplete"

和:

    AutoCompleteTextView autocomplete = view.findViewById(R.id.autocomplete);
    autocomplete.setAdapter(adapter);