当前位置: 代码迷 >> Android >> Android惯用组件(Activity学习之一)
  详细解决方案

Android惯用组件(Activity学习之一)

热度:62   发布时间:2016-04-27 23:16:27.0
Android常用组件(Activity学习之一)

关于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    }

版权声明:本文为博主原创文章,未经博主允许不得转载。

  相关解决方案