Lamentablemente, la aplicación ha dejado de funcionar.

Soy nuevo en el desarrollo de aplicaciones para Android. Estaba haciendo esta aplicación tutorial. Es muy simple. Agrega uno y sustrae uno del contador. Cuando lo ejecuto en el emulador, dice "Desafortunadamente el tutorial ha dejado de funcionar." No hay errores en el código. El nivel de la API es 17. Por favor, ayúdame.

Código para java:

public class Startingpoint extends Activity { int counter=0; Button add,subtract; TextView display; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.startingpoint); add = (Button) findViewById(R.id.bAdd); subtract= (Button) findViewById(R.id.bSubtract); display= (Button) findViewById(R.id.text); add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { counter++; display.setText("The total is " + counter); } }); subtract.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { counter--; display.setText("The total is " + counter); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.startingpoint, menu); return true; } } 

Código de diseño en xml:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Your total is 0" android:textSize="35dp" android:layout_gravity="center" android:gravity="center"/> <Button android:layout_width="250dp" android:layout_height="wrap_content" android:text="Add One" android:layout_gravity="center" android:textSize="25dp" android:id="@+id/bAdd"/> <Button android:layout_width="250dp" android:layout_height="wrap_content" android:text="Subtract One" android:layout_gravity="center" android:textSize="25dp" android:id="@+id/bSubtract"/> </LinearLayout> 

Aquí está el logcat:

 03-02 02:45:10.730: D/AndroidRuntime(780): Shutting down VM 03-02 02:45:10.730: W/dalvikvm(780): threadid=1: thread exiting with uncaught exception (group=0x40a71930) 03-02 02:45:10.750: E/AndroidRuntime(780): FATAL EXCEPTION: main 03-02 02:45:10.750: E/AndroidRuntime(780): java.lang.RuntimeException: Unable to start activity ComponentInfo{tutorial.example.tutorial/tutorial.example.tutorial.Startingpoint}: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.Button 03-02 02:45:10.750: E/AndroidRuntime(780): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) 03-02 02:45:10.750: E/AndroidRuntime(780): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 03-02 02:45:10.750: E/AndroidRuntime(780): at android.app.ActivityThread.access$600(ActivityThread.java:141) 03-02 02:45:10.750: E/AndroidRuntime(780): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 03-02 02:45:10.750: E/AndroidRuntime(780): at android.os.Handler.dispatchMessage(Handler.java:99) 03-02 02:45:10.750: E/AndroidRuntime(780): at android.os.Looper.loop(Looper.java:137) 03-02 02:45:10.750: E/AndroidRuntime(780): at android.app.ActivityThread.main(ActivityThread.java:5041) 03-02 02:45:10.750: E/AndroidRuntime(780): at java.lang.reflect.Method.invokeNative(Native Method) 03-02 02:45:10.750: E/AndroidRuntime(780): at java.lang.reflect.Method.invoke(Method.java:511) 03-02 02:45:10.750: E/AndroidRuntime(780): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 03-02 02:45:10.750: E/AndroidRuntime(780): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 03-02 02:45:10.750: E/AndroidRuntime(780): at dalvik.system.NativeStart.main(Native Method) 03-02 02:45:10.750: E/AndroidRuntime(780): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.Button 03-02 02:45:10.750: E/AndroidRuntime(780): at tutorial.example.tutorial.Startingpoint.onCreate(Startingpoint.java:22) 03-02 02:45:10.750: E/AndroidRuntime(780): at android.app.Activity.performCreate(Activity.java:5104) 03-02 02:45:10.750: E/AndroidRuntime(780): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) 03-02 02:45:10.750: E/AndroidRuntime(780): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) 03-02 02:45:10.750: E/AndroidRuntime(780): ... 11 more 

2 Solutions collect form web for “Lamentablemente, la aplicación ha dejado de funcionar.”

 display= (Button) findViewById(R.id.text); 

debiera ser

 display= (TextView) findViewById(R.id.text); 

Dado que se supone que la display hace referencia a una instancia de TextView , pero explícitamente se está emitiendo en un Button , y estos no son tipos compatibles.

Como obtuvo la respuesta de AC esta vez, pero para la próxima vez en el desarrollo de aplicaciones Android una sugerencia importante:

Siempre vea el logcat de error, y ver la etiqueta "Caused by:", Especifica cuál fue la causa del problema con suficiente detalle, También vea la línea no que causó ese error. Y trate de encontrar lo que puede estar mal con esa línea de código.

Por ejemplo: en su logcat está mostrando-

 Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.Button at tutorial.example.tutorial.Startingpoint.onCreate(Startingpoint.java:22) 

Así que puedes intentar leer el log, y entenderás que en tu archivo Startingpoint.java en la line 22 que se encuentra en el método onCreate el error es android.widget.TextView cannot be cast to android.widget.Button . Así que usted puede quitar fácilmente sus errores sin ayuda. Espero que no sólo ayuda a su problema actual, sino que evita su futuro tiempo y esfuerzos.

  • Android con el botón NumericUpDown?
  • ¿Cómo obtener el ancho bruto de dispositivo y la altura o el ancho y la altura real de la pantalla?
  • Vista de lista Expandeble Siempre se desplaza al problema inferior
  • Alinear los controles uno junto al otro en un diseño relativo
  • Android mover la disposición hasta cuando el teclado suave se muestra con viewpagers
  • ProgressBar y ProgressBarStyleHorizontal de relleno
  • El visualizador de jerarquía no calcula Medir, Diseño y Dibujo y muestra no disponible
  • La barra de progreso horizontal personalizada de Android de la barra dibujable se estira
  • android.content.res.Resources $ NotFoundException: String resource ID # 0x12 - onLocationChanged ()
  • Android incluye diseño debajo del elemento
  • Android: la barra de estado previene la pantalla completa
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.