android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="myButton1" />
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="myButton2" />
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
Button button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
// //——下面返回数据给上一个活动
//跳转到活动MyActivity2
//第一个参数:上下文,第二个参数:目标活动类
Intent intent = new Intent(MainActivity.this,SecondActivity.class); //显式Intent
//向活动MyActivity2传递数据
intent.putExtra("info", "我来自活动1");
//启动活动
startActivityForResult(intent, 0);
}
});
}
/**
* 接受活动返回的数据,该方法对应于startActivityForResult(intent, 0)方法,请求码只要是唯一值就好,这里传入了0
* requestCode:请求码
* resultCode:返回数据时的处理结果
* data:返回数据的Intent
*/
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//进行判断
if(0 == requestCode && resultCode == RESULT_OK){
//获取数据
String feedBack = data.getStringExtra("feedBack");
Toast.makeText(getApplicationContext(), feedBack, Toast.LENGTH_SHORT).show();
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//隐藏标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
//加载自定义布局文件 activity2_my.xml
setContentView(R.layout.second_layout);
//接受活动1传递来的数据
Intent intent = getIntent();
String info = intent.getStringExtra("info");
//即获取主活动传递来的数据,使用Toast显示
Toast.makeText(getApplicationContext(), info, Toast.LENGTH_SHORT).show();
//——为Button2添加点击监听事件:创建一个Intent,回传数据给主活动,同时销毁当前活动。使用setResult方法回传数据。
Button button2 = (Button) findViewById(R.id.button2);
//为Button2添加点击监听事件
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//构建一个Intent 返还数据,创建一个Intent,回传数据给主活动,同时销毁当前活动。使用setResult方法回传数据。
Intent intent2 = new Intent();
intent2.putExtra("feedBack", "我来自活动2,我已经收到了你的信息,这是我给你的反馈!");
setResult(RESULT_OK, intent2); //返还数据
finish();//销毁当前活动
}
});
}
//需要注意的是,用户按下back时也可以返回,因此在活动MyActivity2中还需要重写onBackPressed方法
public void onBackPressed() {
//构建一个Intent 返还数据
Intent intent2 = new Intent();
intent2.putExtra("feedBack", "我来自活动2,我已经收到了你的信息,这是我给你的反馈!");
setResult(RESULT_OK, intent2); //返还数据
finish();//销毁当前活动
}
}
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.administrator.intentputextra.SecondActivity"></activity>