2013-01-18 33 views
1

我想通過使用intent將一個avtivity的值傳遞給另一個活動。我沒有得到值作爲空值..我的logcat沒有錯誤。任何幫助將不勝感激。提前致謝。如何從一個活動獲取值到另一個

第一項活動

Intent intent = new Intent(Nexttopic.this, Quesans.class); 
     String name = getIntent().getStringExtra("name"); 
     intent.putExtra("TopicName", tname); 
     intent.putExtra("Topicid", topicid); 
     intent.putExtra("LevelName",TAG_LEVELNAME); 
     intent.putExtra("Levelid",TAG_LEVELID); 
     intent.putExtra("Groupid",TAG_GROUPID); 
startActivity(intent); 

次活動

Intent i=getIntent(); 
    name=i.getStringExtra(tname); 
    tid=i.getStringExtra(topicid); 
    lid=i.getStringExtra(TAG_LEVELID); 
    gid=i.getStringExtra(TAG_GROUPID); 
    System.out.println("Result :"+name); 
    System.out.println("Result :"+tid); 
    System.out.println("Result :"+lid); 
    System.out.println("Result :"+gid); 

回答

2

您需要參考您所呼叫的同時另一項活動設置額外的字段的名稱。 所以更改此:

Intent i=getIntent(); 
name=i.getStringExtra(tname); 
tid=i.getStringExtra(topicid); 
lid=i.getStringExtra(TAG_LEVELID); 
gid=i.getStringExtra(TAG_GROUPID); 
System.out.println("Result :"+name); 
System.out.println("Result :"+tid); 
System.out.println("Result :"+lid); 
System.out.println("Result :"+gid); 

這樣:

Intent i=getIntent(); 
name=i.getStringExtra("TopicName"); 
tid=i.getStringExtra("Topicid"); 
lid=i.getStringExtra("Levelid"); 
gid=i.getStringExtra("Groupid"); 
System.out.println("Result :"+name); 
System.out.println("Result :"+tid); 
System.out.println("Result :"+lid); 
System.out.println("Result :"+gid); 

希望它幫助。

0

在你的第二個活動.. 給喜歡你的第一個活動這一

使TNAME和topicid和其他字符串公開,並在第二次活動中使用它們,就像這樣

次活動

Intent i=getIntent(); 
name=i.getStringExtra(Nexttopic.tname); 
tid=i.getStringExtra(Nexttopic.topicid); 
1

雖然從額外獲得價值你String name如您在putextra傳遞應該是相同的。雖然經過

@

Intent intent = new Intent(Nexttopic.this, Quesans.class); 
     String name = getIntent().getStringExtra("name"); 
     intent.putExtra("TopicName", tname); 
     intent.putExtra("Topicid", topicid); 
     intent.putExtra("LevelName",TAG_LEVELNAME); 
     intent.putExtra("Levelid",TAG_LEVELID); 
     intent.putExtra("Groupid",TAG_GROUPID); 
startActivity(intent); 

儘管取得@

 Intent i=getIntent(); 
    name=i.getStringExtra("TopicName"); 
    tid=i.getIntExtra("Topicid",0); 
    lid=i.getIntExtra("Levelid",0); 
    gid=i.getIntExtra("Groupid",0); 
    System.out.println("Result :"+name); 
    System.out.println("Result :"+tid); 
    System.out.println("Result :"+lid); 
    System.out.println("Result :"+gid); 

我假設TID,蓋,GID是整數。

putExtras

getExtras()

+0

沒有我沒有得到字符串..im得到作爲levelid和groupid .. –

+0

你試過我的方式嗎? – RobinHood

+0

是三個值只是整數 –

0

第一個活動

Intent i = new Intent(FirstActivity(),SecondActivity.class); 
    i.putExtra("wid", wid); 
    i.putExtra("rid", rid); 
    startActivity(i); 

次活動

Bundle b = getActivity().getIntent().getExtras(); 
    wid = b.getString("wid"); 
    rid = b.getString("rid"); 
0

當正從孩子的意圖你的字符串名稱建議立即進行刪除值d與你傳遞父母意圖相同。你可以傳遞字符串值,而類的列表可以通過意圖傳遞。還有另一種從哈希映射獲取價值的方法可用。只是谷歌它。 https://stackoverflow.com/a/14393309/1697047是一種散文的方式

相關問題