首先,我们的布局文件为:
MainActivity:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- tools:context="com.zking.administrator.g160628_android12_activity.MainActivity">
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:hint="请输入用户名:"
- android:id="@+id/et_main_uname"
- />
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="写心情"
- android:onClick="writeThink"
- />
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/tv_main_showThink"
- />
- </LinearLayout>
- <span style="color:#ff0000;">ThinkActivity:</span>
- <pre name="code" class="java" style="color: rgb(255, 0, 0);"><?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- tools:context="com.zking.administrator.g160628_android12_activity.ThinkActivity">
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:id="@+id/tv_think_showName"
- />
- <EditText
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:lines="5"
- android:hint="请写心情"
- android:gravity="top"
- android:id="@+id/et_think_content"
- />
- <Button
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:text="确定"
- android:onClick="ok"
- />
- </LinearLayout>
- </pre><pre name="code" class="java" style="color: rgb(255, 0, 0);"><span style="color:#ff0000;">
- </span></pre><span style="color:#ff0000"><br>
- </span><br>
- <pre></pre>
- <p></p>
- <pre></pre>
- <pre name="code" class="java">1.实现基本数据类型的传递</pre><pre name="code" class="java"><span style="color:#ff0000;">MainActivity.java:
- </span></pre><pre name="code" class="java"><span style="color:#ff0000;"> </span> //传递基本数据类型</pre><pre name="code" class="java"> intent.putExtra("uname",uname);
- intent.putExtra("uage",19);<span style="color:#ff0000;">
- </span></pre><pre name="code" class="java"><span style="color:#ff0000;">ThinkActivity.java:</span>
- </pre><pre name="code" class="java">//获取第一个页面传递过来的数据
- String uname=getIntent().getStringExtra("uname");
- int uage=getIntent().getIntExtra("uage",0);<span style="color:#ff0000;">
- </span></pre><pre name="code" class="java"></pre><pre name="code" class="java">2.使用集装箱(bundle)传递</pre><pre name="code" class="java"><span style="color:#ff0000;"><strong></strong></span><pre name="code" class="java" style="color: rgb(255, 0, 0);"><span style="color:#ff0000;">MainActivity.java:
- </span></pre><pre name="code" class="java" style="color: rgb(255, 0, 0);"><span style="color:#ff0000;"> </span></pre>//传递Bundle<br>
- Bundle bundle=new Bundle();<br>
- bundle.putString("uname",uname);<br>
- bundle.putInt("uage",19);<br>
- intent.putExtra("bundle",bundle);<pre name="code" class="java" style="color: rgb(255, 0, 0);"></pre><span style="color:#ff0000;"><strong></strong></span><pre name="code" class="java" style="color: rgb(255, 0, 0);"><span style="color:#ff0000;">ThinkActivity.java:</span>
- </pre><pre name="code" class="java" style="color: rgb(255, 0, 0);"><span style="color:#ff0000;">
- </span></pre><pre name="code" class="java"><span style="white-space: pre;"> </span>//接受bundle
- Bundle bundle=getIntent().getBundleExtra("bundle");
- String uname=bundle.getString("uname");
- int uage=bundle.getInt("uage");</pre><pre name="code" class="java"></pre>3.传递对象<pre></pre><pre name="code" class="java"><strong></strong><pre name="code" class="java"><pre name="code" class="java" style="color: rgb(255, 0, 0);">MainActivity.java:</pre> Person person1=new Person(1,"静静",19);
- <pre></pre>
- <pre name="code" class="java"><span style="white-space:pre"> intent.putExtra("person</span>1<span style="white-space:pre">",person</span>1<span style="white-space:pre">);</span></pre><br>
- <pre></pre>
- <pre name="code" class="java"><strong></strong><pre name="code" class="java"><span style="color:#ff0000;">ThinkActivity.java:</span>
- </pre><pre name="code" class="java">//获取第一个页面传递过来的数据
- Person person1=getIntent().getExtra("person1");</pre><pre name="code" class="java"></pre><pre name="code" class="java">4.传递对象集合</pre><pre name="code" class="java"><strong></strong><pre name="code" class="java"><pre name="code" class="java" style="color: rgb(255, 0, 0);">MainActivity.java:</pre>
- <pre></pre>
- <pre></pre>
- <pre name="code" class="java"> <span style="white-space:pre"> </span>Person person1=new Person(1,"静静",19);
- Person person2=new Person(2,"明明",19);
- Person person3=new Person(3,"雨田君",19);
- <span style="white-space:pre"> </span>ArrayList<Person> persons=new ArrayList<>();
- <span style="white-space:pre"> </span>persons.add(person1);
- <span style="white-space:pre"> </span>persons.add(person2);
- <span style="white-space:pre"> </span>persons.add(person3);
- <span style="white-space:pre"> </span>//传递对象集合
- <span style="white-space:pre"> </span>intent.putParcelableArrayListExtra("persons",persons);</pre><pre name="code" class="java"><strong></strong><pre name="code" class="java"><span style="color: rgb(255, 0, 0);">ThinkActivity.java:</span></pre><pre name="code" class="java">//接受对象集合
- List<Person> persons=getIntent().getParcelableArrayListExtra("persons");
- tv_think_showName.setTextSize(30);
- for (Person person : persons) {
- tv_think_showName.setText(tv_think_showName.getText()+"\n"+person.toString());
- }
- </pre><pre name="code" class="java"></pre> <pre></pre>传递基本上是大同小异的,大家可以自己试一试,还是挺好理解的。
- <pre></pre>
- <p></p>
- <p><strong></strong></p>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- <pre></pre>
- </pre></pre></pre></pre></pre></pre></pre>