victor zambrano
- Posts del Foro: 1
22 dic. 2013 21:55:59 vía Web
22 dic. 2013 21:55:59 vía Web
Hola buenas, soy nuevo en este foro, estoy empezando a programar en android y tengo que hacer un ejercicio en el que una parte de la aplicacion es una ventana con una valoracion numerica, y esta valoracion la tengo que recoger en el activity principal para mandarlo a otra activity que me muestra la media de las valoraciones, ademas de mostrar el total de valoraciones en el activity principal, pero al realizar la valoracion y pulsar en aceptar la aplicacion se queda colgada y se cierra y no soy capaz de encontrar el fallo, a ver si alguno puede echarme una mano, gracias.
Este es el codigo que llama al activity donde realizo la valoracion:
Código :
Este seria el codigo recogido en el activity valorar cuando pulso en aceptar:
Código :
Y este seria el codigo donde recojo la valoracion en el activity principal:
Código :
El log cuando salta el error es este:
01-04 12:58:32.509: E/AndroidRuntime(8641): FATAL EXCEPTION: main
01-04 12:58:32.509: E/AndroidRuntime(8641): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=3, result=-1, data=null} to activity {com.example.pdm02/com.example.pdm02.MainActivity}: java.lang.NullPointerException
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.deliverResults(ActivityThread.java:2544)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2586)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.access$2000(ActivityThread.java:121)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:973)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.os.Handler.dispatchMessage(Handler.java:99)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.os.Looper.loop(Looper.java:130)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.main(ActivityThread.java:3768)
01-04 12:58:32.509: E/AndroidRuntime(8641): at java.lang.reflect.Method.invokeNative(Native Method)
01-04 12:58:32.509: E/AndroidRuntime(8641): at java.lang.reflect.Method.invoke(Method.java:507)
01-04 12:58:32.509: E/AndroidRuntime(8641): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
01-04 12:58:32.509: E/AndroidRuntime(8641): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
01-04 12:58:32.509: E/AndroidRuntime(8641): at dalvik.system.NativeStart.main(Native Method)
01-04 12:58:32.509: E/AndroidRuntime(8641): Caused by: java.lang.NullPointerException
01-04 12:58:32.509: E/AndroidRuntime(8641): at com.example.pdm02.MainActivity.onActivityResult(MainActivity.java:74)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.Activity.dispatchActivityResult(Activity.java:3908)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.deliverResults(ActivityThread.java:2540)
01-04 12:58:32.509: E/AndroidRuntime(8641): ... 11 more
Este es el codigo que llama al activity donde realizo la valoracion:
Código :
1valorar.setOnClickListener(new View.OnClickListener() {
2 public void onClick(View v) {
3 Intent intent = new Intent(MainActivity.this, ValorarActivity.class);
4 startActivityForResult(intent, 3);
5 }
6 });
2 public void onClick(View v) {
3 Intent intent = new Intent(MainActivity.this, ValorarActivity.class);
4 startActivityForResult(intent, 3);
5 }
6 });
Este seria el codigo recogido en el activity valorar cuando pulso en aceptar:
Código :
1((Button)findViewById(R.id .bAceptarVer)).setOnClickListener(new View.OnClickListener() {
2 public void onClick(View arg0) {
3 Intent data = new Intent();
4 EditText valoracion = (EditText) findViewById(R.id.valoracion);
5 int suma = Integer.parseInt( valoracion.getText().toString());
6
7 data.putExtra("suma", suma);
8 setResult(RESULT_OK);
9 finish();
10 }
11 });
2 public void onClick(View arg0) {
3 Intent data = new Intent();
4 EditText valoracion = (EditText) findViewById(R.id.valoracion);
5 int suma = Integer.parseInt( valoracion.getText().toString());
6
7 data.putExtra("suma", suma);
8 setResult(RESULT_OK);
9 finish();
10 }
11 });
Y este seria el codigo donde recojo la valoracion en el activity principal:
Código :
1protected void onActivityResult(int requestCode, int resultCode, Intent data) {
2 super.onActivityResult(requestCode, resultCode, data);
3
4 if((resultCode==RESULT_OK) && (requestCode== 3)){
5 numValoraciones++;
6 sumaValoraciones += Integer.parseInt(data.getStringExtra("suma"));
7 }
8
9 }
2 super.onActivityResult(requestCode, resultCode, data);
3
4 if((resultCode==RESULT_OK) && (requestCode== 3)){
5 numValoraciones++;
6 sumaValoraciones += Integer.parseInt(data.getStringExtra("suma"));
7 }
8
9 }
El log cuando salta el error es este:
01-04 12:58:32.509: E/AndroidRuntime(8641): FATAL EXCEPTION: main
01-04 12:58:32.509: E/AndroidRuntime(8641): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=3, result=-1, data=null} to activity {com.example.pdm02/com.example.pdm02.MainActivity}: java.lang.NullPointerException
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.deliverResults(ActivityThread.java:2544)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2586)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.access$2000(ActivityThread.java:121)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:973)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.os.Handler.dispatchMessage(Handler.java:99)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.os.Looper.loop(Looper.java:130)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.main(ActivityThread.java:3768)
01-04 12:58:32.509: E/AndroidRuntime(8641): at java.lang.reflect.Method.invokeNative(Native Method)
01-04 12:58:32.509: E/AndroidRuntime(8641): at java.lang.reflect.Method.invoke(Method.java:507)
01-04 12:58:32.509: E/AndroidRuntime(8641): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:878)
01-04 12:58:32.509: E/AndroidRuntime(8641): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:636)
01-04 12:58:32.509: E/AndroidRuntime(8641): at dalvik.system.NativeStart.main(Native Method)
01-04 12:58:32.509: E/AndroidRuntime(8641): Caused by: java.lang.NullPointerException
01-04 12:58:32.509: E/AndroidRuntime(8641): at com.example.pdm02.MainActivity.onActivityResult(MainActivity.java:74)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.Activity.dispatchActivityResult(Activity.java:3908)
01-04 12:58:32.509: E/AndroidRuntime(8641): at android.app.ActivityThread.deliverResults(ActivityThread.java:2540)
01-04 12:58:32.509: E/AndroidRuntime(8641): ... 11 more
Contenido editorial recomendado
Con su consentimiento, aquí se cargan contenidos externos.
Al hacer clic en el botón anterior, acepta que se le muestren contenidos externos. En el proceso pueden transmitirse datos personales a terceros proveedores. Encontrará más información al respecto en nuestro Política de privacidad.