2012-02-21 24 views
6

一切正常,只是這個活動給發送resultCode = -1爲什麼在StartActivityForResult之後resultCode = -1?

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(); 
     } 
    }); 

從這裏在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; 
     } 
    }); 

在我onActivityResult方法我現在做什麼,但檢查值的resultCode。 (我已經消除了所有其他代碼以找出錯誤)。

回答

16

你知道RESULT_OK的值是-1

+2

是的,這只是我的一個反射,認爲常數的值-1是一個錯誤的標誌。晚安! – Tombola 2012-02-21 12:57:29

+0

你知道,這很有趣,當我看到-1被返回時,我有完全相同的反應。我認爲它與我的Flex/AS3背景有關,因爲這通常是結果集長度等特定值的值......當它們'空'時 – 2012-05-30 13:16:29

5

RESULT_OK是-1,RESULT_CANCELED是0.什麼都沒有錯。

+1

:D這就是爲什麼很難找到錯誤!也許,得到索姆睡覺的時間,謝謝... – Tombola 2012-02-21 12:30:15

相關問題