Android intent ,Android intent 之间调用


例子内容:
我要在第一个activity中调用第二个activity,第二个activity是对第一个activity的一些参数的设置,通过第二个activity设置完成后,把数据传给第一个activity
Android 是通过bundle 来传递、共享数据的。
首先,把两个实体都加入到manifest.xml 中
<activity android:name=".Activity1"
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=".Activity2" ></activity>

两个实体代码:
Activity1:
//在按键按下后,调用第二个实体,第二个实体处理完数据后再传给第一个实体
btn3.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
final int RG_REQUEST = 0;
Intent intent = new Intent();
    //作为接受数据端
intent.setClass(Activity1.this, Activity2.class);
startActivityForResult(intent, RG_REQUEST);
       ///////////////////// 
}
});
}
  //处理接收的数据
protected void onActivityResult(int requestCode,int resultCode,Intent data)
{
super.onActivityResult(requestCode, resultCode, data)

if(resultCode==RESULT_OK)
{
//接收数据
Bundle bundle =data.getExtras();
double aplpa=bundle.getDouble("aplpa");
String mode=bundle.getString("mode");
String time=bundle.getString("time");
}
}
/////////////////////////////////////////
Activity2:
// //////////////////
// 点击按键后,确认返回处理
// ////////////
btn1.setOnClickListener(new Button.OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
Bundle bundle = new Bundle();
bundle.putInt("time", time);
bundle.putInt("alpha", aplpa);
bundle.putInt("mode", mode);
Intent intent = new Intent(Activity2.this,Activity1.class);
intent.putExtras(bundle);
setResult(RESULT_OK, intent);
Activity.this.finish();

}
});

相关内容