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

Respuesta
 
Herramientas
  #1  
Viejo 02/03/15, 11:16:42
Array

[xs_avatar]
himorino himorino no está en línea
Usuario poco activo
 
Fecha de registro: feb 2015
Mensajes: 14
Tu operador: Movistar

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.
Responder Con Cita


  #2  
Viejo 02/03/15, 12:28:42
Array

[xs_avatar]
LEAJIM_454 LEAJIM_454 no está en línea
Miembro del foro
 
Fecha de registro: nov 2012
Mensajes: 215
Modelo de smartphone: Galaxy Ace
Tu operador: Otra
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.
Responder Con Cita
  #3  
Viejo 02/03/15, 12:37:35
Array

[xs_avatar]
himorino himorino no está en línea
Usuario poco activo
 
Fecha de registro: feb 2015
Mensajes: 14
Tu operador: Movistar

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.
Responder Con Cita
  #4  
Viejo 02/03/15, 12:57:28
Array

[xs_avatar]
himorino himorino no está en línea
Usuario poco activo
 
Fecha de registro: feb 2015
Mensajes: 14
Tu operador: Movistar

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.
Responder Con Cita
  #5  
Viejo 02/03/15, 16:01:09
Array

[xs_avatar]
Dexafree Dexafree no está en línea
Mr. FAQMan
· Votos compra/venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Tu operador: Movistar
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
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 09:29:12 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /