关于activity本文主要总结一下学习的页面间的跳转,两种方式,以及传递参数和接收返回值。
关于跳转到下一个页面,两个activity间通过Intent来通讯,两种方式:
startActivity();
startActivityForResult();
一、打开下一个页面
Intent intent=new Intent(this, NewActivity.class);
// 下面是另外3种设置激活组件的方法
//intent.setClass(this, NewActivity.class);
//intent.setClassName(this, "com.example.mulactivity.NewActivity");
//intent.setComponent(new ComponentName(this, NewActivity.class));
startActivity(intent);
2、将参数传递到下一个页面
传递的方法:
public void OpenNewActivity(View v){
Intent intent=new Intent(this, NewActivity.class);
//第一种传值方式
//intent.putExtra("name", "atm");
//intent.putExtra("age", 10);
//第二种传值方式
Bundle bundle=new Bundle();
bundle.putString("name", "atm");
bundle.putInt("age",10);
intent.putExtras(bundle);
startActivity(intent);
下一个页面接收的方法:
Intent intent=getIntent();
//第一种接收数据的方法
//String name=intent.getStringExtra("name");
//Integer age=intent.getIntExtra("age", 0);
//第二中接受数据的方法
//Bundle bundle = intent.getExtras();
//String name = bundle.getString("name");
//int age = bundle.getInt("age");
//textview.setText(name+"的年龄是:"+age);
3、获得下一个页面关闭时返回的值
重写onActivityResult()方法
public void OpenNewActivity(View v){
Intent intent=new Intent(this, NewActivity.class);
startActivityForResult(intent, 88);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
String res = data.getStringExtra("res");
Toast.makeText(this,res, Toast.LENGTH_LONG).show();
//super.onActivityResult(requestCode, resultCode, data);
}
关闭页面时向上一级页面返回值:
public void CloseActivity(View v){
Intent intent = new Intent();
intent.putExtra("res", "这是我返回回来的数据");
setResult(20, intent);
this.finish();//关闭当前的activity
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/qq_17326933/article/details/48036559