2012-02-21 13 views
6

Tutto funziona bene, tranne che questa attività dà resultCode = -1Perché resultCode = -1 qui dopo 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(); 
     } 
    }); 

Si chiama da qui in 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; 
     } 
    }); 

E nel mio metodo onActivityResult io ora faccio altro che controllare il valore di resultCode. (Ho eliminato tutti gli altri codici per scoprire cosa c'è che non va).

risposta

16

Lo sai che RESULT_OK ha il valore -1?

+2

Sì, è stato solo un mio riflesso a considerare il valore -1 di una costante come un segno di qualcosa che non va. Buona notte! – Tombola

+0

Sai, è divertente, ho avuto la stessa identica reazione quando ho visto -1 essere restituito. Penso che abbia a che fare con il mio background Flex/AS3 poiché di solito è il valore di alcune cose come la lunghezza dei set di risultati ecc ... quando sono "vuoti" –

5

RESULT_OK è -1, e RESULT_CANCELED è 0. Niente è sbagliato.

+1

: D Ecco perché è così difficile trovare che cosa non va! È ora di dormire un po ', grazie ... – Tombola

Problemi correlati