Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1071359
  • 博文数量: 403
  • 博客积分: 10272
  • 博客等级: 上将
  • 技术积分: 4407
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:22
文章分类

全部博文(403)

文章存档

2012年(403)

分类: 嵌入式

2012-03-25 19:41:49

 除了能从一个Activity返回数据结果之外,向一个Activity传递数据也是很常用的。

    1.新建一个名为PassData的工程。

    2.main.xml中的代码。

  1. "1.0" encoding="utf-8"?>  
  2. ""  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     
  8.         android:id="@+id/btn_SecondActivity"  
  9.         android:layout_width="fill_parent"  
  10.         android:layout_height="wrap_content"  
  11.         android:onClick="onClick"  
  12.         android:text="Click to go to Second Activity" />  
  13.   
  14.   
    3.在res/layout文件夹下,创建secondactivity.xml文件。

  1. "1.0" encoding="utf-8"?>  
  2. ""  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="wrap_content"  
  10.         android:text="Welcome to Second Activity" />  
  11.   
  12.     
  13.         android:id="@+id/btn_MainActivity"  
  14.         android:layout_width="fill_parent"  
  15.         android:layout_height="wrap_content"  
  16.         android:onClick="onClick"  
  17.         android:text="Click to return to main activity" />  
  18.   
  19.   
    4.新建一个Activity子类:SecondActivity.java。

  1. package net.horsttnann.PassingData;  
  2.   
  3. import net.horsttnann.PassingData.R;  
  4. import android.app.Activity;  
  5. import android.content.Intent;  
  6. import android.net.Uri;  
  7. import android.os.Bundle;  
  8. import android.view.View;  
  9. import android.widget.Toast;  
  10.   
  11. public class SecondActivity extends Activity {  
  12.     @Override  
  13.     public void onCreate(Bundle savedInstanceState) {  
  14.         super.onCreate(savedInstanceState);  
  15.         setContentView(R.layout.secondactivity);  
  16.   
  17.         // ---get the data passed in using getStringExtra()---  
  18.         Toast.makeText(this, getIntent().getStringExtra("str1"),  
  19.                 Toast.LENGTH_SHORT).show();  
  20.   
  21.         // ---get the data passed in using getIntExtra()---  
  22.         Toast.makeText(this,  
  23.                 Integer.toString(getIntent().getIntExtra("age1"0)),  
  24.                 Toast.LENGTH_SHORT).show();  
  25.   
  26.         // ---get the Bundle object passed in---  
  27.         Bundle bundle = getIntent().getExtras();  
  28.   
  29.         // ---get the data using the getString()---  
  30.         Toast.makeText(this, bundle.getString("str2"), Toast.LENGTH_SHORT)  
  31.                 .show();  
  32.   
  33.         // ---get the data using the getInt() method---  
  34.         Toast.makeText(this, Integer.toString(bundle.getInt("age2")),  
  35.                 Toast.LENGTH_SHORT).show();  
  36.     }  
  37.   
  38.     public void onClick(View view) {  
  39.         // ---use an Intent object to return data---  
  40.         Intent i = new Intent();  
  41.   
  42.         // ---use the putExtra() method to return some  
  43.         // value---  
  44.         i.putExtra("age3"45);  
  45.   
  46.         // ---use the setData() method to return some value---  
  47.         i.setData(Uri.parse("Something passed back to main activity"));  
  48.   
  49.         // ---set the result with OK and the Intent object---  
  50.         setResult(RESULT_OK, i);  
  51.   
  52.         // ---destroy the current activity---  
  53.         finish();  
  54.     }  
  55. }  
    5.AndroidManifest.xml中的代码。

  1. "1.0" encoding="utf-8"?>  
  2. ""  
  3.     package="net.horsttnann.PassingData"  
  4.     android:versionCode="1"  
  5.     android:versionName="1.0" >  
  6.   
  7.     "10" />  
  8.   
  9.     
  10.         android:icon="@drawable/ic_launcher"  
  11.         android:label="@string/app_name" >  
  12.         
  13.             android:name=".PassingDataActivity"  
  14.             android:label="@string/app_name" >  
  15.               
  16.                 "android.intent.action.MAIN" />  
  17.   
  18.                 "android.intent.category.LAUNCHER" />  
  19.               
  20.           
  21.         
  22.             android:name="net.horsttnann.PassingData.SecondActivity"  
  23.             android:label="Second Activity" >  
  24.               
  25.                 "net.horsttnann.PassingDataSecondActivity" />  
  26.   
  27.                 "android.intent.category.DEFAULT" />  
  28.               
  29.           
  30.       
  31.   
  32.   
    6.PassDataActivity中的代码。

    7.按F11调试。


效果图:

    程序第一次启动:



    跳转到SecondActivity:

    返回PassDataActivity:


阅读(1104) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~