ClassCastException: android.support.v7.widget.LinearLayoutCompat $ LayoutParams no se puede convertir en android.widget.LinearLayout $ LayoutParams
He creado un diálogo de alerta con diseño personalizado, está funcionando bien, pero cuando intento establecer el elemento de una sola opción para alertDialogBuilder da ClassCastException: android.support.v7.widget.LinearLayoutCompat$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams
View viewDialog = LayoutInflater.from(this).inflate(R.layout.dialog_verify, null,false); alertDialogBuilder.setView(viewDialog); final TextView tvDialogTitle = (TextView) viewDialog.findViewById(R.id.dialog_textview_title); final Button btnCancel = (Button) viewDialog.findViewById(R.id.dialog_btn_cancel); final Button btnVerify = (Button) viewDialog.findViewById(R.id.dialog_btn_verify); btnCancel.setVisibility(View.GONE); btnVerify.setText("cancel"); btnVerify.setTextColor(ContextCompat.getColor(this, R.color.colorPrimary)); btnVerify.setBackgroundResource(R.drawable.round_white); //set single layout structure alertDialogBuilder.setSingleChoiceItems(arrayReportType, selectedIndex, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { selectedIndex=which; tvReportStatus.setText(arrayReportType[selectedIndex]); dialog.dismiss(); } }); alertDialogBuilder.setCancelable(true); Typeface font_bold = Typeface.createFromAsset(getAssets(), Constants.FONT_BOLD); tvDialogTitle.setTypeface(font_bold); tvDialogTitle.setText("Summary"); final AlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.show();
UPDATE: XML FILE desde el que estoy inflando el cuadro de diálogo de alerta
- Editar texto con ronda de esquina y sombra
- ¿Cómo obtener grados de rotación de un evento multi-touch de dos dedos?
- ¿Por qué mi aplicación Android se bloquea cuando intento acceder a recursos de cadenas?
- Implementar OnClickListener para un fragmento en android
- LayoutManager para RecyclerView para establecer el número de columnas automáticamente según el ancho de los elementos
<TextView android:id="@+id/dialog_textview_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="20sp" android:layout_marginBottom="20dp"/> <LinearLayout android:id="@+id/dialog_ll_buttons" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingLeft="15dp" android:paddingRight="15dp"> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"> <Button android:fontFamily="sans-serif-light" android:id="@+id/dialog_btn_cancel" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="16dp" android:background="@drawable/round_white" android:text="Cancel" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@color/colorAccent" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1"> <Button android:fontFamily="sans-serif-light" android:id="@+id/dialog_btn_verify" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="16dp" android:background="@drawable/round_blue" android:textAppearance="@style/TextAppearance.AppCompat.Medium" android:textColor="@color/white" /> </LinearLayout> </LinearLayout>
Importación relacionada con la pregunta
import android.app.TimePickerDialog; import android.content.DialogInterface; import android.graphics.Typeface; import android.os.Bundle; import android.support.design.widget.CoordinatorLayout; import android.support.design.widget.Snackbar; import android.support.v4.content.ContextCompat; import android.support.v7.app.ActionBar; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.TextUtils; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.TimePicker; import org.json.JSONException; import org.json.JSONObject;
- Cómo establecer la misma anchura y altura de un botón
- Vista de desplazamiento horizontal: ¿Es realmente una solución?
- Dibuja un círculo en el centro de la lona
- ButterKnife no trabaja con Jack?
- CoordinatorLayout, AppBarLayout y ToolBar - Barra de herramientas no se desplaza fuera de la pantalla
- Alinear el botón derecho en LinearLayout horizontal
- ¿Cómo agregar un SearchView a un cajón de navegación?
- Android organización de la vista de texto en un diseño
ClassCastException
Lanzado para indicar que el código ha intentado emitir un objeto a una subclase de la que no es una instancia.
No
import android.support.v7.app.AlertDialog;
HACER
import android.app.AlertDialog
NOTA
Usted es la biblioteca cally support.v7
. Llame a la biblioteca nativa .
@ Zordid es correcto. Se trata de un error en AOSP cuando se utiliza la biblioteca de soporte técnico 25. Intente utilizar otra versión de la biblioteca de soporte técnico o espere la corrección. También hay soluciones alternativas publicadas en el problema de AOSP.
Enlace a la edición de AOSP
Hay una nueva versión de soporte de biblioteca 25.4.0 que corrige este problema.
A medida que se acaba de publicar esta biblioteca, asegúrese de que la sección de repositorios incluye una sección maven con el " https://maven.google.com ", por ejemplo
allprojects { repositories { jcenter() maven { url "https://maven.google.com" } }
}
- Usar la etiqueta <include> con? Attr / myAttr
- ¿Cómo puedo superar la limitación de longitud de propiedad de la "configuración de shell de adb"