2013-01-18 35 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是一种散文的方式

相关问题