Android练习之Intent、Bundle

资源包:范例练习b2  FLExB2.rar

需求分析:

1.Intent的练习:

  点击button,触发button事件,通过intent切换activity

2.Bundle的练习:

  activity通过intent传递bundle到activity2,activity2返回结果给activity1

 

总结:RelativeLayout的布局

 

View Code
  1 package com.example.flexb2;
  2 
  3 import android.os.Bundle;
  4 import android.app.Activity;
  5 import android.content.Intent;
  6 import android.view.Menu;
  7 import android.view.View;
  8 import android.view.View.OnClickListener;
  9 import android.widget.Button;
 10 import android.widget.EditText;
 11 import android.widget.RadioButton;
 12 
 13 public class FirstActivity extends Activity {
 14 
 15     EditText et;
 16     RadioButton rb1;
 17     RadioButton rb2;
 18     
 19     @Override
 20     public void onCreate(Bundle savedInstanceState) {
 21         super.onCreate(savedInstanceState);
 22         setContentView(R.layout.activity_first);
 23         
 24         //练习1.点击跳转activity 用Intent方式
 25         Button btfirst = (Button)findViewById(R.id.btfirst);
 26         btfirst.setOnClickListener(new OnClickListener() {
 27             @Override
 28             public void onClick(View v) {
 29                 Intent firstintent = new Intent();
 30                 firstintent.setClass(FirstActivity.this, SecondActivity.class);//setclass
 31                 startActivity(firstintent);//start 奇怪这个方法是void的
 32                 FirstActivity.this.finish();//finish
 33             }
 34         });
 35         
 36         //练习2.点击跳转activity 用Intent传递Bundle
 37         Button btcal =(Button)findViewById(R.id.btcal);
 38         btcal.setOnClickListener(new OnClickListener() {
 39             @Override
 40             public void onClick(View v) {
 41                 //取EditText值
 42                 et = (EditText)findViewById(R.id.height);
 43                 double height = "".equals(et.getText().toString())?0:Double.parseDouble(et.getText().toString());
 44                 
 45                 //取RadioButton值
 46                 rb1 = (RadioButton) findViewById(R.id.sex1);
 47                 rb2 = (RadioButton) findViewById(R.id.sex2);
 48                 String sex = "human";
 49                 if(rb1.isChecked()){
 50                     sex = "male";
 51                 }else{
 52                     sex = "female";
 53                 }
 54                 
 55                 //Bundle
 56                 Bundle bundle = new Bundle();
 57                 bundle.putDouble("height", height);
 58                 bundle.putString("sex", sex);
 59                 
 60                 //Intent
 61                 Intent firstintent2 = new Intent();
 62                 firstintent2.setClass(FirstActivity.this, SecondActivity.class);
 63                 firstintent2.putExtras(bundle);
 64                 firstintent2.putExtra("test", "testvalue");
 65                 
 66                 startActivityForResult(firstintent2, 0);
 67             }
 68         });
 69     }
 70 
 71     @Override
 72     public boolean onCreateOptionsMenu(Menu menu) {
 73         getMenuInflater().inflate(R.menu.activity_first, menu);
 74         return true;
 75     }
 76     
 77     @Override
 78     protected void onActivityResult(int requestCode, int resultCode, Intent resultIntent){
 79         
 80         System.out.println("onActivityResult connected >>> requestCode:" + requestCode + "resultCode:" + resultCode);
 81         //requestCode跟resultCode没看清楚 错了半天找不出来~~
 82         switch(resultCode){
 83             case Activity.RESULT_OK:
 84                 Bundle resultBundle = resultIntent.getExtras();
 85                 String sex = resultBundle.getString("sex");
 86                 double height = resultBundle.getDouble("height");
 87                 
 88                 //EditText
 89                 et.setText("<<<" + height + 111);
 90                 //RadioButton
 91                 if("M".equals(sex)){
 92                   rb1.setChecked(true);
 93                 }else{
 94                   rb2.setChecked(true);
 95                 }
 96                 break;
 97             default:
 98                 break;
 99         }
100     }
101 }

 

转载于:https://www.cnblogs.com/imzzh/archive/2012/10/19/2731042.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值