Hola, ahora me he encontrado con un problema que no sé porque me está pasando esto, he creado un proyecto para hacer pruebas, con solo un Activity con un botón que muestra un Fragment.
En este Fragmen muestro un Exposed Drop-Down Menu, que una vez que he visto que funciona bien, este código lo paso a otro proyecto.
Pues bien, este segundo proyecto tiene un menú horizontal con 7 pestañas, os describo el comportamiento que tiene el menu…. en la pestaña 4 he puesto el Drop-Down, pero cuando inicio por primera vez la aplicación, y pulso en la pestaña 5, me muestra el contenido de la pestaña 7 (la última).
Si quito el código del Drop-Down y pongo un simple TextView, todos los menús funcionan bien.
Este es el código:
Fragment.java
String[] items = {"Material","Design","Components","Android","5.0 Lollipop"};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate( R.layout.f_esta, container, false );
AutoCompleteTextView autoCompleteTxt = rootView.findViewById(R.id.auto_complete_txt);
ArrayAdapter<String> adapterItems = new ArrayAdapter<String>(getActivity(),R.layout.items_list,items);
autoCompleteTxt.setAdapter(adapterItems);
retrum rootView;
}
f_esta.xml
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false">
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:hint="@string/nombres"
app:boxBackgroundColor="@color/Snow">
<AutoCompleteTextView
android:id="@+id/auto_complete_txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="none" />
</com.google.android.material.textfield.TextInputLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
items_list.xml
<TextView
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="wrap_content"
android:padding="10dp"
android:layout_margin="5dp"
android:ellipsize="end"
android:maxLines="1"
android:layout_centerHorizontal="true"
android:textSize="20sp"
android:fontFamily="@font/arno"
app:fontFamily="@font/arno"
android:textStyle="bold|italic"
app:drawableLeftCompat="@drawable/icon_estacion_5"
android:background="@drawable/esquinas_redondas_3"
android:textAppearance="?attr/textAppearanceSubtitle1">
</TextView>
La aplicación no se detiene ni muestra ningún mensaje de error, y en alguna ocasión cuando he cambiado el código, y la aplicación se ha detenido, en el Logcat ha mostrado este error:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.AutoCompleteTextView.setAdapter(android.widget.ListAdapter)' on a null object reference
Pero ahora mismo con el código que he puesto, no muestra ningun mensaje de error, pero tiene ese comportamiento
Porque en el otro proyecto funciona bien, y al pasar el código aquí, ya no funciona bien el menú ?
Agradecería vuestra ayuda.