我一直试图弄清楚如何在Android中获取对另一个页面的输入响应。 例如。当用户输入他们的详细信息(如名称)时,我想将其显示在另一个xml文件中。 现在我在我的activity.java中有这个。
final EditText nameField = (EditText) findViewById(R.id.editText1);
String name = nameField.getText().toString();
这是我的形式:
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:hint="Please input your full name" >
<requestFocus />
</EditText>
如何将用户输入的内容保存到另一个他们也能看到的xml页面中。
答案 0 :(得分:1)
好吧,您无法在运行时更改实际的xml文件。因此,您根本不会将检索到的值插入到xml文件中。
XML布局中的每个对象也代表一个Java对象。因此,假设您的布局中有另一个EditText:
<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<requestFocus />
在java中你可以使用类似的东西将nameField中的值放入其中。
final EditText nameOutput = (EditText) findViewById(R.id.editText2);
nameOutput.setText(nameField.getText().toString());
答案 1 :(得分:1)
将字符串放在资源文件中..
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string
name="string_name"
>text_string</string>
</resources>
然后在你的其他xml中引用!
答案 2 :(得分:0)
我很确定你要做的事情是不可能的。如果您需要根据用户输入动态创建视图,则应以编程方式完成。
答案 3 :(得分:0)
“xml页面”称为layout resources。它们是在开发时定义的,不能在运行时更改。
您需要以编程方式读取edittext值(如您所示),存储它,然后在显示另一个edittext时将值插入此edittext。