Orden cambiado en main.xml, ahora consigo ClassCastException
Utilizando eclipse y el SDK de Android, gestioné una aplicación de prueba sencilla con un botón y un ProgressBar. Todo funciona bien, excepto que no quería que ProgressBar moviera el botón, cuando el ProgressBar se hizo visible, así que sólo para probar cambié el orden que se definen en el archivo res / layout / main.xml (que usa un LinearLayout). Compilación y ejecución A continuación, obtener un ClassCastException en el "ProgressBar …" línea siguiente.
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /* 01-06 14:37:39.590: E/AndroidRuntime(863): java.lang.RuntimeException: java.lang.ClassCastException: android.widget.Button cannot be cast to android.widget.ProgressBar */ final ProgressBar progressbar = (ProgressBar) findViewById(R.id.progressBar1); /* here */ progressbar.setVisibility(ProgressBar.GONE); final Button exebutton = (Button)findViewById(R.id.button1); exebutton.setOnClickListener(new View.OnClickListener() // etc...
Ahora, entiendo lo que la ClasCastException dice y significa, simplemente no entiendo por qué aparece. No estoy intentando emitir un botón a un ProgressBar. No lo entiendo …
- ClassCastException ViewGroup $ LayoutParams no se puede convertir en ViewPager $ LayoutParams
- Obtención de excepción de conversión de clase durante el uso de android.support.v7.widget.SearchView
- ClassCastException LinearLayout LayoutParams
- Android ClassCastException con el tipo en blanco
- Android ClassCastException en findViewById
- Clase que extiende la aplicación lanza ClassNotFoundException
- Classcastexception android en inicio de actividad
- ClassCastException: RestTemplate devuelve Lista <LinkedHashMap> en lugar de List <MymodelClass>
- Eclipse ClassCastException al intentar expandir el diseño XML para Android
- Excepción de ClassCast de Android al vincular al servicio
- Inesperado ClassCastException con findViewById
- Cualquier método alternativo para Casting de clase
- Choque del selector de Android LiveWallpaper
Trate de limpiar el proyecto para que la clase R se genera de nuevo. A veces los valores no se actualizan.
Se parece a esta línea:
final ProgressBar progressbar = (ProgressBar) findViewById(R.id.progressBar1); /* here */
Está lanzando un botón a una barra de progreso.
Esto significa que findViewById
devuelve el botón para R.id.progressBar1
.
Puesto que usted está diciendo que cambió el orden, esto parece que este id todavía corresponde al botón. Esto señala un problema con el archivo generado. Yo haría un Proyecto / Clean .
- ¿Por qué se ejecuta AsyncTask en el subproceso principal de una aplicación?
- El adaptador personalizado getview no se llama