2012-02-21 9 views
6

Todo funciona bien, excepto que esta actividad da resultCode = -1¿Por qué es resultCode = -1 aquí después de StartActivityForResult?

public class SetTimeDialog extends Activity{ 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.settimedialog); 


    Button bUseTime = (Button) findViewById(R.id.buttonUseTime_settime); 
    bUseTime.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

      Intent resultIntent = new Intent(this, SetTimeDialog.class); 
      setResult(Activity.RESULT_OK, resultIntent); 
      finish(); 
     } 
    }); 

Se llama de aquí en MainActivity:

TableLayout timeTable = (TableLayout)findViewById(R.id.timeTable_writepos); 
    timeTable.setOnTouchListener(new View.OnTouchListener() { 
     public boolean onTouch(View v, MotionEvent event) { 
      Intent settimedialogIntent = new Intent(getApplicationContext(), SetTimeDialog.class); 
      startActivityForResult(settimedialogIntent, SETTIMEDIALOG_REQCODE); // See onActivityResult() 
      return false; 
     } 
    }); 

Y en mi método onActivityResult ahora no hago más que comprobar el valor de resultCode. (Eliminé el resto del código para descubrir qué está mal).

Respuesta

16

¿Sabe usted que RESULT_OK tiene el valor -1?

+2

Sí, fue solo un reflejo de la mía considerar el valor -1 de una constante como un signo de que algo está mal. ¡Buenas noches! – Tombola

+0

Sabes, es gracioso, tuve exactamente la misma reacción cuando vi que se devolvía -1. Creo que tiene que ver con mi fondo Flex/AS3 ya que ese es el valor de ciertas cosas como la duración de los conjuntos de resultados, etc. cuando están 'vacíos' –

5

RESULT_OK es -1 y RESULT_CANCELED es 0. Nada está mal.

+1

: D ¡Es por eso que es tan difícil encontrar lo que está mal! Es hora de dormir, tal vez, gracias ... – Tombola