初学之安卓的两种activity间传递数据的方法


在这里我要说明的是用intent和全局变量的方法将EditText中输入的文本传递到另一个activityTextView

1使用intent传递数据

首先在一个activity中设置一个EditText和一个Button利用监听事件来控制;另外在java文件中声明EditText和一个Button并将他们初始化;

private EditText et1 = null; 

Button bt = (Button) findViewById(R.id.button1);

 

 2)在onClick事件中

 Intent intent = new Intent();

intent.setClass(this, FifthActivity.class);

et1 = (EditText) findViewById(R.id.editText1);

String et1String = et1.getText().toString();

intent.putExtra("name",et1String);//name是前后传递的一个名称

startActivity(intent);

 

3)在要转到的activity

  private TextView textView4; 

private String strname = null;  

strname=getIntent().getStringExtra("name");  textView4.setText(strname);

 

2使用全局变量传递数据

全局变量必须从android.app.Application继承,首先新建一个MyAppclass文件,然后在AndroidManifest.xml中用android:name属性指定全局类名,否则系统不会自动创建全局变量的

package="com.example.sde"

    android:versionCode="1"

    android:versionName="1.0" >

 

    <uses-sdk

        android:minSdkVersion="8"

        android:targetSdkVersion="21" />

 

    <application

        android:allowBackup="true"

        android:name=".MyApp"//类名

        android:icon="@drawable/ic_launcher"

        android:label="@string/app_name"

        android:theme="@style/AppTheme" >

        <activity

            android:name=".FistActivity"

            android:label="@string/app_name" >

            <intent-filter>

                <action android:name="android.intent.action.MAIN" />

 

                <category android:name="android.intent.category.LAUNCHER" />

            </intent-filter>

        </activity> 

然后在监听事件中可以

  MyApp myApp=(MyApp)getApplicationContext();  

myApp.country = "美国";

  Intent intent = new Intent();  

intent.setClass(ForthActivity.this, FifthActivity.class);  

et1 = (EditText) findViewById(R.id.editText1);//et1参看intent中的代码  

String et1String = et1.getText().toString(); 

 myApp.rename = et1String;  startActivity(intent);

在要转向的activity

 MyApp myApp = (MyApp) getApplicationContext();//全局变量传递数据

textView5.setText("myapp.country: "+ myApp.country+ myApp.rename +"\nmyapp.data.id:"+myApp.data.id+"\nmyapp.data.name"+ myApp.data.name);

//countryrenameid均为MyApp中的定义

 



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值