使用Intent实现页面跳转

1.

2.第一个和第二个不同的是,第二个有返回值

3.AndroidManifest.xml配置两个页面 注册:
< application
         android:allowBackup = "true"
         android:icon = "@drawable/ic_launcher"
         android:label = "@string/app_name"
         android:theme = "@style/AppTheme"  >
         < activity
             android:name = "com.chanjet.FActivity"
             android:label = "@string/app_name"  >
             < intent-filter >
                 < action  android:name = "android.intent.action.MAIN"  />

                 < category  android:name = "android.intent.category.LAUNCHER"  />
             </ intent-filter >
         </ activity >
         < activity
             android:name = "com.chanjet.SActivity"
             android:label = "@string/app_name"  >
         </ activity >
     </ application  >
4.第二个页面跳转代码
public  class  FActivity  extends  Activity {
      private  Button  btn1  =  null ;
      private  Context  context  =  null ;
      @Override
      protected  void  onCreate(Bundle  savedInstanceState  ) {
            //  TODO  Auto-generated method stub
            super .onCreate( savedInstanceState  );
          setContentView(R.layout.  first );
            btn1  = (Button) findViewById(R.id.  button1 );
            context  =  this ;
            /**
           * 通过点击btn1实现页面跳转
           * 1.通过startActivity的方式来实现
           * 1》初始化intent
           */
            btn1 .setOnClickListener(  new  OnClickListener() {
              
                @Override
                public  void  onClick(View  v ) {
                     //  TODO  Auto-generated method stub
//                 Intent intent = new Intent(FActivity.this,SActivity.class);
                     /*
                    * 第一个参数上下文对象this
                    * 第二个参数,目标文件
                    */
                   Intent  intent  =  new  Intent( context ,SActivity. class );
                   startActivity(  intent );
              }
          });
     }
}
5.第二种方法,有返回值的页面传值
/*
           * 2.通过startActivityForresult
           */
          
            btn2 .setOnClickListener(  new  OnClickListener() {
              
                @Override
                public  void  onClick(View  v ) {
                     //  TODO  Auto-generated method stub
                   Intent  intent  =  new  Intent( context ,SActivity. class );
                     /*
                    * 第一个参数是intent对象
                    * 第二个参数是请求的一个标识
                    */
                   startActivityForResult(  intent , 1);
              }
          });
          
          
     }
      /*
      * 通过startForresult跳转,接收返回数据的方法
      * requestCode请求的标志
      * resultCode第二个页面返回的标志
      * data第二个页面回传的数据
      */
      @Override
      protected  void  onActivityResult( int  requestCode ,  int  resultCode , Intent  data  ) {
            //  TODO  Auto-generated method stub
            super .onActivityResult( requestCode  ,  resultCode  ,  data );
            if ( requestCode  == 1 &&  resultCode  == 2){
              String  content  =  data .getStringExtra( "data"  );
                tv .setText(  content );
          }
     }
第二个页面
btn .setOnClickListener( new  OnClickListener() {
              
                @Override
                public  void  onClick(View  v ) {
                     //  TODO  Auto-generated method stub
                   
                     count  =  count  +  "*1"  ;
                   Intent  data  =  new  Intent();
                     data .putExtra(  "data" ,  count  );
                   setResult(2,  data );
                   finish();
              }
          });
实现:
第一个页面通过
Intent  intent  =  new  Intent( context  ,SActivity.  class );
startActivityForResult(  intent , 1);
第二个页面
Intent  data  =  new  Intent();
                     data .putExtra(  "data"   count  );
                   setResult(2,  data );
                   finish();
返回到第一个页面接收,覆盖
 @Override
       protected   void  onActivityResult(  int   requestCode int   resultCode  , Intent  data  ) {
            //  TODO  Auto-generated method stub
            super  .onActivityResult( requestCode  resultCode  data  );
            if  ( requestCode  == 1 &&  resultCode  == 2){
              String  content  =  data  .getStringExtra( "data"  );
                tv .setText(  content );
          }
     }
通过请求码和返回码确定是那个发送的和返回的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值