2012-08-05 48 views
0

Android开发新手,想知道是否有某种方式让用户输入来创建活动?例如,说用户正在经历建立自己的个人资料的过程。其中一个问题是“你有多少宠物?”。用户输入“4”,然后点击“下一步”按钮(打开下一个活动)。Java到XML Android

如何让用户输入“4”在下一个活动中创建四个editText对象,以便用户现在可以输入他/她的宠物的名称?

我是一个好的程序员(虽然从未碰过XML),所以你不需要深入细节我只是不知道如何访问这个变量来创建四个editText对象。从我发现的情况来看,不能在运行时向资源添加字符串,甚至不能在资源中编辑/追加文件。

我正在考虑从java编写一个XML文件,并使活动(用XML编写)读取XML文件,如果这甚至可能? XML文件可以读取XML文件吗?

+0

尝试先阅读文档http://developer.android.com/reference/android/content/Intent.html。它非常容易访问,你只需要阅读它。 – overbet13 2012-08-05 14:13:29

回答

0

此无关的XML

用户的输入将被存储在像一串不同的数据类型。如果你需要加载一个新的活动,你可以做的一件事是在android类型中传递信息。

您使用intent数据类型开始新的活动。该intent数据类型有putExtra方法,在那里你可以把变量英寸

后您startActivity(yourIntent)新的活动可以调用Bundle并具有与getIntent()

关联的被叫getExtra方法,这些应该引导你至少

+0

谢谢,但我知道这一切。它的动态布局我正在寻找 – user1577433 2012-08-05 14:24:16

0

意图。

String 1 = et.getText().toString(); 
String 2 = et.getText().toString(); 
String 3 = et.getText().toString(); 
String 4 = et.getText().toString(); 

Intent i = new Intent(this, newclass.class). 
i.putExtras("key1", 1); 

//等等。

//然后你得到的数据。

bundle extras = i.getExtras(); 
string temps1 = extras.getString("key1", null); 

此处了解详情:http://developer.android.com/reference/android/content/Intent.html

+0

谢谢,但我知道这一切。寻找动态布局 – user1577433 2012-08-05 14:24:51

+0

我不知道你的意思,那么你能解释更多吗?通过你的场景,你希望从配置文件类到名称类有四个对象,这就是你如何做到的;你能澄清一些吗? – TheBlueCat 2012-08-05 14:50:54

0

什么你问的是不是真正的活动创造,而是布局的创建。正如你已经知道的,Android允许你使用xml定义一个布局,并且Activities有一个简单的方法来调用它来设置基于这个xml的内容视图。布局不需要在xml中定义;他们可以通过编程创建。

当你开始一个活动时,你为它创建了一个Intent,并且你可以为这个意图添加“额外”通过这样做,您可以将参数传递到您的活动中,并可以使用这些参数作为如何构建布局的提示。

对程序布局做一些研究(http://mylifewithandroid.blogspot.com/2007/12/xml-and-programmatic-layout.html可能有所帮助),你可能会弄清楚你需要知道什么。

+0

这听起来很像我需要做的。我已经知道通过Intent传递额外信息。所以我只会创建没有XML的布局,然后 – user1577433 2012-08-05 14:21:57

+0

我很高兴能够提供帮助。如果您觉得我的帖子对您​​有所帮助,请点击旁边的勾号接受它。谢谢,祝你好运。 – mah 2012-08-05 14:29:48

0

你可以在意图的帮助下传递数据(在你的情况下用户输入)。 您可以使用putExtra发送数据。 Here is good tutorial for you

对于动态布局,您可以膨胀当前布局并将控件添加到当前视图。用于动态布局this is good tutorial to refer

我希望这两个教程能帮助你。

+0

干杯动态布局是我一直在寻找的 – user1577433 2012-08-05 14:24:35

+0

我希望我的回答能帮助你解决你的问题:) – rajpara 2012-08-05 14:29:40