资源包:范例练习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 }