/*ActivityMain文件*/
import android.os.Bundle;
import android.util.Log;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OnClickListener listener1 = new OnClickListener(){
public void onClick(View v){
Intent intent1 = new Intent(MainActivity.this, Activity1.class);
intent1.putExtra("com.example.yzj.activity1", "数据来自MainActivity"); //存储键值对, 数据类型为bundle, 存于Extra
startActivityForResult(intent1, 1); //打开子Activity
}
};
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(listener1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){ //子Activity退出后执行
if(requestCode == 1){
if(resultCode == RESULT_CANCELED){
setTitle("Activity1被取消了");
}
if(resultCode == RESULT_OK){
String temp;
temp = data.getStringExtra("store"); //获取子Activity存储的值
setTitle(temp);
}
}
}
/*Activity1文件*/
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Activity1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_1);
Bundle extra = getIntent().getExtras(); //获取启动Intent中的键值(Extra)
String data = null;
if(extra != null){
data = extra.getString("com.example.yzj.activity1"); //获取键中的值(Bundle)
}
setTitle("Activity: "+data);
OnClickListener listener2 = new OnClickListener(){
public void onClick(View v){
Bundle bundle = new Bundle();
bundle.putString("store", "数据来自Activity1"); //构建键值对, 构建bundle
Intent mIntent = new Intent();
mIntent.putExtras(bundle); //存储键值对, 存入mIntent
setResult(RESULT_OK, mIntent); //设置返回的结果, RESULT_OK or RESULT_CANCELED, 以及带数据的Intent
finish();
}
};
Button button2 = (Button)findViewById(R.id.button2);
button2.setOnClickListener(listener2);
}
}
用Intent在Activity间传递数据
最新推荐文章于 2022-03-23 22:24:59 发布