您的位置:首页 > 其它

使用Intent在activity之间传递数据

2014-12-26 00:12 573 查看
使用Intent在activity之间传递数据:

比如现在有一个布局 <TableRow

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

<TextView

android:id="@+id/user_text"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="用户名"

android:textSize="20dp"/>

<EditText

android:id="@+id/edit_text"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

</TableRow>

<TableRow

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

<TextView

android:id="@+id/secret"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="密码"

android:textSize="20dp"/>

<EditText

android:id="@+id/secret_write"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

</TableRow>

<TableRow

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="horizontal">

<TextView

android:id="@+id/email"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="email"

android:textSize="20dp"/>

<EditText

android:id="@+id/edit_email"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

</TableRow>

<Button

android:id="@+id/submit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="提交"

android:textSize="24dp"/>

我想在用户点击提交按钮之后,跳转到另外一个activity,并且在这个activity中显示用户输入 的用户名和密码以及邮箱。。

1)方法一 可以创建一个Info类(这个类要实现Serializable接口),让这个类封装用户名密码和邮箱,并为每个变量提供get和set方法;这样我们就可以再mainactivity中创建一个info对象,并通过控件的getText()方法取得用户输入内容,然后调用info的set方法。再接下来只要把这个info对象封装到一个Bundle对象即可,可以调用bundle对象的putSerializable(String key, Bundle value),这样就把info对象封装到了Bundle中,然后通过Intent.putExtra(bundle)封装Bundle对象。在另一个activity中通过getIntent()得到Intent对象,intent.getExtra()得到Bundle对象,Bundle.getSerializable()得到info对象,info调用get方法得到用户输入内容。

2)不创建新类,直接把用户名,密码和邮箱封装进Bundle。bundle.putCharSequence(String key ,String value),调用三次即可将用户名,密码,邮箱封装到bundle。然后调用intent.putExtras(bundle). 如果想在一个activity中获取bundle中的数据可以通过bundle.getString(String key)方法获取。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: