Activity的传值和回传值(2)

在第二个Activity对象中,可以通过 getIntent() 方法来得到跳转到这个Activity的Intent对象,然后通过 Intent 对象的各种 getXXExtra 方法来得到我们的传过来的值。

AndroidManifest.xml文件如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.xiaoluo.android_intent"
    android:versionCode="1"
    android:versionName="1.0" >

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.xiaoluo.android_intent.MainActivity"
            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="com.xiaoluo.android_intent.SecondActivity"
            android:label="SecondActivity">
            <intent-filter>
                <action android:name="com.xiaoluo.android_intent.second"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

这样我们就可以实现Activity直接的值的传递。

二、通过startActivityForResult方法来得到Activity的回传值

在一些情况下,我们通过 A activity跳转到 B activity上,这时希望 A activtiy能从 B activity上得到一些返回值,这个时候我们就不能使用startActivity方法了,而是使用 startActivityForResult方法来完成我们的操作。

例如,我们希望完成下面一个功能,在MainActivity上,写上一个算术表达式,然后跳转到到第二个SecondActivity上,在这个Activity上将第一个Activity的表达式显示出来,然后我们可以输入我们的算术表达式结果,然后点击按钮,将这个结果值又返回给我们的MainActivity,并将结果填充到算术表达式中,具体看如下代码:

activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

<EditText
        android:id="@+id/editText1"
        android:layout_width="70dp"
        android:layout_height="wrap_content" />

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0a520616481597c0f735d373c6409a7a.html