`
阿尔萨斯
  • 浏览: 4172958 次
社区版块
存档分类
最新评论

intent传值

 
阅读更多

今天我们来探讨一下android的传值问题。

主要实现功能为第一个页面实现信息的填写,在第二个页面实现第一个页面信息的输出

效果图为:

第一个activity实现了对单选、复选、文本框值的获取与传递

  1. ////////////////////UIZuoYeActivity///////////////
  2. //第一个activity
  3. packagecn.class3g.activity;
  4. importandroid.app.Activity;
  5. importandroid.content.Intent;
  6. importandroid.os.Bundle;
  7. importandroid.view.View;
  8. importandroid.view.View.OnClickListener;
  9. importandroid.widget.Button;
  10. importandroid.widget.CheckBox;
  11. importandroid.widget.EditText;
  12. importandroid.widget.RadioButton;
  13. importandroid.widget.RadioGroup;
  14. importandroid.widget.Spinner;
  15. publicclassUIZuoYeActivityextendsActivityimplementsOnClickListener{
  16. /**Calledwhentheactivityisfirstcreated.*/
  17. RadioGrouprg=null;
  18. RadioButtonmanRB=null;
  19. RadioButtonrb=null;
  20. Buttonbtn=null;
  21. EditTextnameET=null;
  22. CheckBoxlan,zu,pai,ping;
  23. Spinnercity;
  24. @Override
  25. publicvoidonCreate(BundlesavedInstanceState){
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.main);
  28. findView();
  29. }
  30. privatevoidfindView(){
  31. btn=(Button)this.findViewById(R.id.putinId);
  32. nameET=(EditText)this.findViewById(R.id.nameId);
  33. manRB=(RadioButton)this.findViewById(R.id.manId);
  34. lan=(CheckBox)this.findViewById(R.id.lanId);
  35. zu=(CheckBox)this.findViewById(R.id.zuId);
  36. pai=(CheckBox)this.findViewById(R.id.paiId);
  37. ping=(CheckBox)this.findViewById(R.id.pingId);
  38. city=(Spinner)this.findViewById(R.id.cityId);
  39. btn.setOnClickListener(this);
  40. }
  41. @Override
  42. publicvoidonClick(Viewv){
  43. //TODOAuto-generatedmethodstub
  44. //封装bundle对象
  45. Bundlebundle=newBundle();
  46. //获取EditText文本框内容
  47. bundle.putString("name","用户名称:"+nameET.getText().toString());
  48. //获取RadioGroup单选内容
  49. if(manRB.isChecked()){
  50. bundle.putString("sex","性别:男");
  51. }else{
  52. bundle.putString("sex","性别:女");
  53. }
  54. //获取CheckBox复选框内容
  55. Stringtemp="爱好:";
  56. if(lan.isChecked()){
  57. temp+=lan.getText().toString();
  58. }
  59. if(zu.isChecked()){
  60. temp+="";
  61. temp+=zu.getText().toString();
  62. }
  63. if(pai.isChecked()){
  64. temp+="";
  65. temp+=pai.getText().toString();
  66. }
  67. if(ping.isChecked()){
  68. temp+="";
  69. temp+=ping.getText().toString();
  70. }
  71. bundle.putString("hobby",temp);
  72. //获取Spinner下拉菜单内容
  73. bundle.putString("city","城市:"+city.getSelectedItem().toString());
  74. Intentintent=newIntent(UIZuoYeActivity.this,PutInActivity.class);
  75. //传递
  76. intent.putExtras(bundle);
  77. startActivity(intent);
  78. }
  79. }


第一个界面实现了整体布局

  1. //////////////////////main.xml///////////////////
  2. //第一个界面
  3. <?xmlversion="1.0"encoding="utf-8"?>
  4. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  5. android:layout_width="fill_parent"
  6. android:layout_height="fill_parent"
  7. android:orientation="vertical">
  8. <TextView
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. android:text="@string/title"/>
  12. <TableLayout
  13. android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:stretchColumns="1">
  16. <TableRow>
  17. <TextView
  18. android:layout_width="fill_parent"
  19. android:layout_height="wrap_content"
  20. android:text="@string/name"/>
  21. <EditText
  22. android:id="@+id/nameId"
  23. android:layout_width="fill_parent"
  24. android:layout_height="wrap_content"/>
  25. </TableRow>
  26. <TableRow>
  27. <TextView
  28. android:layout_width="wrap_content"
  29. android:layout_height="wrap_content"
  30. android:layout_gravity="center"
  31. android:text="@string/sex"/>
  32. <RadioGroup
  33. android:id="@+id/sexId"
  34. android:layout_width="wrap_content"
  35. android:layout_height="wrap_content"
  36. android:checkedButton="@+id/manId"
  37. android:orientation="horizontal">
  38. <RadioButton
  39. android:id="@id/manId"
  40. android:text="男"/>
  41. <RadioButton
  42. android:id="@+id/womanId"
  43. android:text="女"/>
  44. </RadioGroup>
  45. </TableRow>
  46. <TableRow>
  47. <TextView
  48. android:layout_width="wrap_content"
  49. android:layout_height="wrap_content"
  50. android:layout_gravity="center"
  51. android:text="@string/city"/>
  52. <Spinner
  53. android:id="@+id/cityId"
  54. android:layout_width="wrap_content"
  55. android:layout_height="wrap_content"
  56. android:entries="@array/城市"
  57. android:prompt="@string/city"/>
  58. </TableRow>
  59. <TableRow>
  60. <TextView
  61. android:layout_width="wrap_content"
  62. android:layout_height="wrap_content"
  63. android:layout_gravity="center"
  64. android:text="@string/hobby"/>
  65. <TableLayout
  66. android:layout_width="fill_parent"
  67. android:layout_height="wrap_content"
  68. android:stretchColumns="1">
  69. <TableRow>
  70. <CheckBox
  71. android:id="@+id/lanId"
  72. android:layout_width="wrap_content"
  73. android:layout_height="wrap_content"
  74. android:text="篮球"/>
  75. <CheckBox
  76. android:id="@+id/zuId"
  77. android:layout_width="wrap_content"
  78. android:layout_height="wrap_content"
  79. android:text="足球"/>
  80. </TableRow>
  81. </TableLayout>
  82. </TableRow>
  83. <TableRow>
  84. <TextView
  85. android:layout_width="wrap_content"
  86. android:layout_height="wrap_content"/>
  87. <TableLayout
  88. android:layout_width="fill_parent"
  89. android:layout_height="wrap_content"
  90. android:stretchColumns="1">
  91. <TableRow>
  92. <CheckBox
  93. android:id="@+id/paiId"
  94. android:layout_width="wrap_content"
  95. android:layout_height="wrap_content"
  96. android:text="排球"/>
  97. <CheckBox
  98. android:id="@+id/pingId"
  99. android:layout_width="wrap_content"
  100. android:layout_height="wrap_content"
  101. android:text="乒乓球"/>
  102. </TableRow>
  103. </TableLayout>
  104. </TableRow>
  105. </TableLayout>
  106. <RelativeLayout
  107. android:layout_width="match_parent"
  108. android:layout_height="match_parent">
  109. <Button
  110. android:id="@+id/putinId"
  111. android:layout_width="wrap_content"
  112. android:layout_height="wrap_content"
  113. android:layout_centerInParent="true"
  114. android:text="@string/putin"/>
  115. </RelativeLayout>
  116. </LinearLayout>


第二个activity实现了对第一个界面输入内容的获取,获取到内容后,然后List迭代,用ListView在第二个界面上显示出来

  1. //////////////////PutInActivity///////////////////
  2. //第二个activity
  3. packagecn.class3g.activity;
  4. importjava.util.ArrayList;
  5. importjava.util.List;
  6. importandroid.app.Activity;
  7. importandroid.os.Bundle;
  8. importandroid.view.View;
  9. importandroid.view.View.OnClickListener;
  10. importandroid.widget.ArrayAdapter;
  11. importandroid.widget.Button;
  12. importandroid.widget.ListView;
  13. publicclassPutInActivityextendsActivity{
  14. ListViewlistView=null;
  15. Bundlebundle;
  16. //TextViewlistView=null;
  17. @Override
  18. protectedvoidonCreate(BundlesavedInstanceState){
  19. //TODOAuto-generatedmethodstub
  20. super.onCreate(savedInstanceState);
  21. this.setContentView(R.layout.putin);
  22. listView=(ListView)findViewById(R.id.listId);
  23. //接收
  24. bundle=this.getIntent().getExtras();
  25. List<String>list=newArrayList<String>();
  26. list.add(bundle.getString("name"));
  27. list.add(bundle.getString("sex"));
  28. list.add(bundle.getString("city"));
  29. list.add(bundle.getString("hobby"));
  30. ArrayAdapter<String>Adapter=newArrayAdapter<String>(this,
  31. android.R.layout.simple_list_item_1,list);
  32. listView.setAdapter(Adapter);
  33. Buttonbtn=(Button)this.findViewById(R.id.returnId);
  34. btn.setOnClickListener(newOnClickListener(){
  35. @Override
  36. publicvoidonClick(Viewv){
  37. //TODOAuto-generatedmethodstub
  38. setContentView(R.layout.main);
  39. }
  40. });
  41. }
  42. }


  1. //////////////////////putin.xml/////////////////////
  2. //第二个界面
  3. <?xmlversion="1.0"encoding="utf-8"?>
  4. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. android:orientation="vertical">
  8. <TextView
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. android:text="@string/title"/>
  12. <ListView
  13. android:id="@+id/listId"
  14. android:layout_width="fill_parent"
  15. android:layout_height="wrap_content"/>
  16. <Button
  17. android:id="@+id/returnId"
  18. android:layout_width="wrap_content"
  19. android:layout_height="wrap_content"
  20. android:text="返回"/>
  21. </LinearLayout>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics