十二 232011
假使现在有三个Activity:Activity01、Activity02和Activity03。Activity和Activity02都要通过Intent向Activity03传递数据,在Activity03中怎样知道数据是从哪个Activity传递过来的呢?可以使用Action来实现这个功能。只要在Activity01和Activity02中为Intent设置不同的Action,在Activity03中使用Intent.getAction方法将得到的Action与我们之前设置的Action作对比,就可以知道数据是从哪个Activity传递过来的。
Activity01.javapackage com.playboy.test3; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class Activity01 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void onClick(View view) { switch(view.getId()) { case R.id.button01: Intent intent = new Intent(); intent.setClass(Activity01.this, Activity02.class); startActivity(intent); break; case R.id.button02: Intent intent2 = new Intent(); intent2.setAction("ACTION_01_TO_03"); intent2.setClass(Activity01.this, Activity03.class); Bundle bundle = new Bundle(); bundle.putString("date", "December 25th"); bundle.putString("holiday", "Christmas"); intent2.putExtras(bundle); startActivity(intent2); break; } } }Activity02.java
package com.playboy.test3; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class Activity02 extends Activity { Button button03; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity02); button03 = (Button)findViewById(R.id.button03); button03.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setAction("ACTION_02_TO_03"); intent.setClass(Activity02.this, Activity03.class); Bundle bundle = new Bundle(); bundle.putString("date", "January 1th"); bundle.putString("holiday", "New Year"); intent.putExtras(bundle); startActivity(intent); } }); } }Activity03.java
package com.playboy.test3; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class Activity03 extends Activity { TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity03); textView = (TextView)findViewById(R.id.textview); Intent intent = getIntent(); String action = intent.getAction(); Bundle bundle = intent.getExtras(); String string = action + ": " + bundle.getString("date") + " - " + bundle.getString("holiday"); textView.setText(string); } }main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="@string/button01" /> <Button android:id="@+id/button02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="@string/button02" /> </LinearLayout>activity02.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button03" /> </LinearLayout>activity03.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textview" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.playboy.test3" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:name=".Activity01" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Activity02" android:label="@string/app_name"></activity> <activity android:name=".Activity03" android:label="@string/app_name"></activity> </application> </manifest>
![]()
![]()
![]()
原创文章,转载请注明: 转载自伟伟软件
本文链接地址: http://www.fac6.com/317.html


最新评论