当前位置:操作系统 > 安卓/Android >>

Android 程式开发:(二)使用意图 —— 2.4 使用Intent传递数据

除了能从一个Activity返回数据结果之外,向一个Activity传递数据也是很常用的。
    1.新建一个名为PassData的工程。
 
    2.main.xml中的代码。
 
[java] view plaincopy<?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/btn_SecondActivity" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:onClick="onClick" 
        android:text="Click to go to Second Activity" /> 
 
</LinearLayout> 
    3.在res/layout文件夹下,创建secondactivity.xml文件。[java] view plaincopy<?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:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:text="Welcome to Second Activity" /> 
 
    <Button 
        android:id="@+id/btn_MainActivity" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        android:onClick="onClick" 
        android:text="Click to return to main activity" /> 
 
</LinearLayout> 
    4.新建一个Activity子类:SecondActivity.java。[java] view plaincopypublic class SecondActivity extends Activity { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.secondactivity); 
 
        // ---get the data passed in using getStringExtra()--- 
        Toast.makeText(this, getIntent().getStringExtra("str1"), 
                Toast.LENGTH_SHORT).show(); 
 
        // ---get the data passed in using getIntExtra()--- 
        Toast.makeText(this, 
                Integer.toString(getIntent().getIntExtra("age1", 0)), 
                Toast.LENGTH_SHORT).show(); 
 
        // ---get the Bundle object passed in--- 
        Bundle bundle = getIntent().getExtras(); 
 
        // ---get the data using the getString()--- 
        Toast.makeText(this, bundle.getString("str2"), Toast.LENGTH_SHORT) 
                .show(); 
 
        // ---get the data using the getInt() method--- 
        Toast.makeText(this, Integer.toString(bundle.getInt("age2")), 
                Toast.LENGTH_SHORT).show(); 
    } 
 
    public void onClick(View view) { 
        // ---use an Intent object to return data--- 
        Intent i = new Intent(); 
 
        // ---use the putExtra() method to return some 
        // value--- 
        i.putExtra("age3", 45); 
 
        // ---use the setData() method to return some value--- 
        i.setData(Uri.parse("Something passed back to main activity")); 
  
        // ---set the result with OK and the Intent object--- 
        setResult(RESULT_OK, i); 
 
        // ---destroy the current activity--- 
        finish(); 
    } 

    5.AndroidManifest.xml中的代码。[java] view plaincopy<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="net.horsttnann.PassingData" 
    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=".PassingDataActivity" 
            android:label="@string/app_name" > 
            <intent-filter> 
                <action android:name="android.intent.action.MAIN" /> 
 
                <category android:name="android.intent.category.LAUNCHER" /> 
            </intent-filter> 
        </activity&g
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,