WEB开发网
开发学院手机开发Android 开发 Android Activity的跳转与传值 阅读

Android Activity的跳转与传值

 2010-05-31 17:24:00 来源:WEB开发网   
核心提示:Activity跳转与传值,主要是通过Intent类来连接多个Activity,Android Activity的跳转与传值,以及传递数据,Intent是Android一个很重要的类,这里的requestCode就是startActivityForResult的requestCode,resultCode就是setRe

Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。

Intent是Android一个很重要的类。Intent直译是“意图”,什么是意图呢?比如你想从这个Activity跳转到另外一个Activity,这就是一个意图。Intent类在Android系统中的作用很大,在此不详细说了,后面有文章介绍!

Activity跳转,无返回结果

这是最简单的Activity跳转方式。从一个Activity启动另一个Activity,直接startActivity(new Intent(当前Activity.this, 下一Activity.class))。

((Button) findViewById(R.id.Notepadv1)).setOnClickListener( new OnClickListener() { public void onClick(View v) { startActivity(new Intent (MyAndroidAppActivity.this, Notepadv1.class) ); } });

Activity跳转,返回数据/结果

需要返回数据或结果的,则使用startActivityForResult (Intent intent, int requestCode)

,requestCode的值是自定义的,用于识别跳转的目标Activity。

跳转的目标Activity所要做的就是返回数据/结果,setResult(int resultCode)只返回结果不带数据,或者setResult(int resultCode, Intent data)两者都返回!

而接收返回的数据/结果的处理函数是onActivityResult(int requestCode, int resultCode, Intent data),这里的requestCode就是startActivityForResult的requestCode,resultCode就是setResult里面的resultCode,返回的数据在data里面。

MyAndroidAppActivity:

static final int SEND_SMS_REQUEST = 0; static final int CALL_REQUEST = 1; ((Button) findViewById(R.id.sms)).setOnClickListener( new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(MyAndroidAppActivity.this, SendSMSActivity.class); startActivityForResult(intent, SEND_SMS_REQUEST); } }); @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == SEND_SMS_REQUEST) { if (resultCode == RESULT_OK) { Toast.makeText(this, "Send SMS RESULT_OK", Toast.LENGTH_SHORT).show(); }else if (resultCode == RESULT_CANCELED) { Bundle bundle = data.getExtras(); String phoneno = bundle.getString("phoneNO"); Toast.makeText(this, "Send SMS RESULT_CANCELED

1 2  下一页

Tags:Android Activity

编辑录入:coldstar [复制链接] [打 印]
赞助商链接