关于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 }
版权声明:本文为博主原创文章,未经博主允许不得转载。