使用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)方法获取。