|
||
|
![]() |
![]() |
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
Herramientas |
#1
|
||||
|
||||
Error al iniciar una activity.
Hola buenas, estoy haciendo una aplicacion sencilla de 20 preguntas y me da error al final cuando trato de mostrar el resultado.
"Unfortunately, My aplication has stopped. package com.example.nayime.aplicacionfinal; import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; public class Resultadofinal extends ActionBarActivity { private int acumulador; private TextView respuestaresultado; private Button reiniciar; @override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_resultadofinal); Bundle bundle = this.getIntent().getExtras(); acumulador = bundle.getInt("acumulador"); respuestaresultado = (TextView) findViewById(R.id.resultadofinal); respuestaresultado.setText("Tu puntuación final obtenida ha sido de "+acumulador+" puntos. Felicidades."); reiniciar.setOnClickListener(new View.OnClickListener() { @override public void onClick(View v) { Intent intentreinicio = new Intent(Resultadofinal.this, primeratandapreguntas.class); int control = 1; int acumulador = 0; Bundle i = new Bundle(); i.putInt("acumulador", acumulador); i.putInt("control",control); intentreinicio.putExtras(i); startActivity(intentreinicio); } }); } } Aqui el codigo del activity, esta formado por un textview que no le puse texto en el xml, un imageview despues y por ultimo un boton. No se por donde estara el fallo, porque he usado esto parecido, imagino que va por el textview el fallo creo quizas deba convertir a String la variable acumulador aunque en otra ocasion si me ha funcionado de la forma que lo muestro. El error que me sale en el log es: 03-02 10:10:52.373 640-640/com.example.nayime.aplicacionfinal E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.nayime.aplicacionfinal/com.example.nayime.aplicacionfinal.Resultadofinal} : java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1956) at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:1981) at android.app.ActivityThread.access$600(ActivityThre ad.java:123) at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1147) at android.os.Handler.dispatchMessage(Handler.java:99 ) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.jav a:4424) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at com.example.nayime.aplicacionfinal.Resultadofinal. onCreate(Resultadofinal.java:31) at android.app.Activity.performCreate(Activity.java:4 465) at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1049) at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:1920) ************at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:1981) ************at android.app.ActivityThread.access$600(ActivityThre ad.java:123) ************at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1147) ************at android.os.Handler.dispatchMessage(Handler.java:99 ) ************at android.os.Looper.loop(Looper.java:137) ************at android.app.ActivityThread.main(ActivityThread.jav a:4424) ************at java.lang.reflect.Method.invokeNative(Native Method) ************at java.lang.reflect.Method.invoke(Method.java:511) ************at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784) ************at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551) ************at dalvik.system.NativeStart.main(Native Method) Sorry si me pase de tocho pegando informacion aqui directamente. |
|
#2
|
||||
|
||||
Tu error está en el boton que requiere de onClicListener, implementalo despues de donde dice:
[php]public class Resultadofinal extends ActionBarActivity implement onClicListener[/php]Supongo que con eso deberia bastar salvo el caso que estes usando fragments, en tal caso tendras que crear una interface, en mi caso es esta: [php]package com.JimSoft.Entertainment.yyy.zzzzzzzzz; import android.net.Uri; public interface OnFragmentInteractionListener { // TODO: Update argument type and name public void onFragmentInteraction(Uri uri); }[/php]Saludos espero que te sirva de ayuda. Última edición por LEAJIM_454 Día 02/03/15 a las 12:31:47. |
#3
|
||||
|
||||
No se si lo hice mal pero me sale despues de implements "OnClickListener" en la declaracion que me dices en rojo aunque me faltara algo pero en todas las actividades anteriores no me da error ahi, te pego el codigo de otra activity que me funciona bien.
package com.example.nayime.aplicacionfinal; import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; public class cuartatanda extends ActionBarActivity { private int control = 0; private int acumulador = 0; private ImageView imagen4; private TextView pregunta4; private int evaluacion = 0; private Button aceptar; private int acerto = 0; private String respuesta=""; private String respuestacorrecta=""; private EditText cuadrotexto; @override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_cuartatanda); Bundle bundle = this.getIntent().getExtras(); control = bundle.getInt("control"); acumulador = bundle.getInt("acumulador"); pregunta4 = (TextView)findViewById(R.id.textview4); imagen4 = (ImageView) findViewById(R.id.imagen4); aceptar = (Button) findViewById(R.id.aceptarcuartatanda); cuadrotexto = (EditText)findViewById(R.id.cuadrotexto); pregunta4.setText("Escribe el nombre del anime mostrado: "); switch (control){ case 16: imagen4.setImageResource(R.drawable.madokamagica); evaluacion=1; break; case 17: imagen4.setImageResource(R.drawable.evangelion3); evaluacion=2; break; case 18: imagen4.setImageResource(R.drawable.nanoha); evaluacion=3; break; } aceptar.setOnClickListener(new View.OnClickListener() { @override public void onClick(View v) { Intent intent4 = new Intent(cuartatanda.this, Activity_intermedia1.class); control++; respuesta = cuadrotexto.getText().toString(); respuesta = respuesta.toLowerCase().trim(); switch (evaluacion){ case 1: respuestacorrecta ="madokamagica"; break; case 2: respuestacorrecta="evangelion"; break; case 3: respuestacorrecta="nanoha"; break; } if(respuestacorrecta.compareTo(respuesta)==0){ acerto=1; acumulador++; } else{ acerto = 0; } Bundle b = new Bundle(); b.putInt("acerto",acerto); b.putInt("acumulador", acumulador); b.putInt("control", control); intent4.putExtras(b); startActivity(intent4); } }); } protected void onPause(){ super.onPause(); finish(); //termina la actividad } } No uso fragments por el momento, es mi 1º aplicacion mas o menos complejta, incluye tanto listviews como radiobutton y otros controles, se que debo aprender el recycler ahora que los sustituye pero primero estoy a ver si saco el error. Hare pruebas esta tarde comentando linea a linea del codigo a ver cual es la que me genera el error. Decir que probe comentando todo el codigo salvo el oncreate basico para generar la actividad y si la generaba, asi que debe estar el error en el codigo. |
#4
|
||||
|
||||
Vale, tras 1 dia entero dandole vueltas era una tonteria.
Fallaba porque no habia localizado el boton, osea me faltaba esta linea por olvido: reiniciar = (Button) findViewById(R.id.reiniciar); junto a cuando localizo el textview, duda resuelta perdonar las molestias. |
#5
|
||||
|
||||
Al final muchos errores suelen ser por cosas como esas
![]() Marcamos como Solucionado! ![]() Y para la proxima te recomiendo que utilices las etiquetas de código, tanto la de [CODE como la de [PHP ![]()
__________________
|
![]() |
![]() |
||||||
|