2012-09-09 62 views
2

我試圖將字符串從一個活動傳遞到另一個活動。我似乎無法獲得額外的意圖。我哪裏錯了?從意圖額外獲取空值

下面是代碼

爲了把額外的進入意圖:

public void onClick(View v) { 
    // TODO Auto-generated method stub 
    String string = editTextFeild.getText().toString(); 
    Intent i = new Intent("com.com.com.otherclass"); 
    i.putExtra("dat", string); 
    startActivity(new Intent("com.com.com.otherclass")); 
} 

要從意圖獲取數據(在com.com.com.otherclass):

Bundle bundle = getIntent().getExtras(); 
if (bundle != null){ 
    String string = bundle.getString("dat"); 
    textView.setText(string); 
} 

ps這些都不是我的代碼:)

感謝提前:)

+0

您是否檢查過editTextField不爲null? –

+0

是的每當我測試它,它已經有了一個值:) – Nick

+0

爲什麼你正在構建一個新的意圖,甚至沒有使用它......? – JoxTraex

回答

4

使用在你startActivity線的實際名稱,您要創建一個新的意圖。代之以傳遞'我'。

startActivity(i); 
+0

所以這樣? startActivity(new Intent(i)); – Nick

+1

不,你已經在上面創建了所需的'Intent i',只要'startActivity(i);'這就是你的字符串在'i'的位置。 – Geobits

+1

乾杯!它的工作現在! – Nick

1

到任何數據或字符串張貼到其他活動只是把代碼,將在可變數據轉移到其他活動

  Intent itemintent = new Intent(this, ShowDescription.class); 
     Bundle b = new Bundle(); 
     b.putInt("position", position); 
     b.putStringArray("title_s", title_s); 
     b.putStringArray("desc_s", desc_s); 
     b.putStringArray("link_s", link_s); 
     itemintent.putExtra("android.intent.extra.INTENT", b); 
     startActivity(itemintent); 

這將發佈您的數據到其它以下行活動Showdescription.java類

在哪裏可以通過以下方法獲取數據。

Bundle b = startingIntent.getBundleExtra("android.intent.extra.INTENT"); 
title_s = b.getStringArray("title_s"); 
desc_s = b.getStringArray("desc_s"); 
link_s = b.getStringArray("link_s"); 
pub_s = b.getStringArray("position"); 

這將得到數據。 有關獲取數據的更多信息,請參閱以下鏈接 http://grabcodes.blogspot.in/2012/08/passing-data-between-two-activities.html