2012-08-14 47 views
1

我學習Android和好奇,想知道好像startActivityForResult()包含startActivity()屬性也即可以將其用於發送從所謂的活動接收數據除了像startActivity()數據?可以startActivityForResult()發送數據?

下面是代碼:
送出數據活動:

Intent data= new Intent(SendData.this, RecieveData.class); 
Bundle check = new Bundle(); 

check.putString("UmerData", cheese); 
medt.setText(cheese); 
data.putExtras(check); 
startActivityForResult(data, 5); 

應在本次活動接收數據(RecieveData活動)

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.recievedata); 
    Initializek(); 
    Bundle got = getIntent().getExtras(); 
    String ss= got.getString("UmerData"); 
    if(getIntent()!=null && ss!=null) { 
     rt1.setText("Is not Null"); 
    } 
} 

您的幫助將是非常讚賞!

感謝

回答

0

是,startActivity & startActivityForResult,雙方採取的意圖爲PARAM。您可以將啓動數據捆綁在intent中,並將其傳遞給目標活動。

+0

不過,我不能在所謂的活動 – 2012-08-14 21:41:16

+0

接收數據在目標活動,請getIntent(),然後嘗試提取意圖數據。 – 2012-08-14 21:43:00

+0

已經做到了。我首先檢查該getIntent()不爲空比提取使用包數據= getIntent()getExtras數據(); 字符串奶酪= data.getString(鍵); – 2012-08-14 21:45:42

1

當您使用startActivityForResult(),你也必須創建一個名爲startActivityForResult()活動中的onActivityResult()方法。 onActivityResult()在這裏,您可以訪問由你開始,對於結果的Activity存儲的意圖。

Activity也就是那麼開始,你必須調用setResult()存儲Intent你在這個數據中

讀取存儲:http://developer.android.com/reference/android/app/Activity.html#StartingActivities

編輯:誤解你的問題。對於通過傳遞選項的包,我會用這個過載:

startActivity(Intent, int, Bundle)

+0

我明確表示,我正在從此SendData活動發送數據,然後使用onActivityResult接收數據。只是數據沒有得到發送使用startActivityForResult – 2012-08-14 22:02:33

+0

對不起,我誤讀你的標題。我會再看一遍。 – 2012-08-14 22:07:10

+0

通過加入捆綁參數 – 2012-08-14 22:26:46

相關問題