2012-08-09 74 views
1

这让我非常疯狂。任何人都可以指出我的错误。活动结果返回时,意图数据始终为空。为什么onActivityResult意图数据为空?

public void btnAddActionOnClick (View v) { 
Intent i = new Intent(NFCEditActivity.this, NFCAddActionActivity.class); 
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
this.startActivityForResult(i,1); 
return; 
} 

...

@Override 
protected void onActivityResult (int requestCode, int resultCode, Intent data) {  super.onActivityResult(requestCode,resultCode,data); 

    if(data==null) { Log.e(LOG_TAG,"Intent bundle extras 'data' is null!"); return ; } 
     ... 
    } 

...

@Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { 
     selectedAction = (Action) lv.getItemAtPosition(position); 
     Intent data = new Intent(); 
     data.putExtra("action", selectedAction.intActionNumber); 
      data.putExtra("test", "test"); 
     setResult(RESULT_OK, intent); 

     finish(); 
     return; 
    } 
    }); 

回答

2

看起来你发送了错误的意图。不应该是setResult(RESULT_OK, data),而不是setResult(RESULT_OK, intent)

+0

setResult(RESULT_OK,data); 我已经重写了很多次,我错过了。修复了具有相同结果的代码。其他想法? 08-09 16:59:47.683:E/RTA(5757):意图捆绑额外的'数据'为空! 08-09 16:59:47.683:E/RTA(5757):onResume – mcollard 2012-08-10 01:21:38

+0

任何人对此有何建议? – mcollard 2012-08-10 21:31:35

+0

我到了现在可以使用onResume和sharedPrefs来实现我自己的数据传输机制的地步。 – mcollard 2012-08-10 21:32:07