从一个Activity向另一个Activity传递数据
来源:互联网 发布:dos怎么运行java 编辑:程序博客网 时间:2024/05/29 03:21
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/top_text" /> <RadioGroup android:id="@+id/gadiogroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_marginLeft="80dp" android:layout_marginTop="30dp" android:orientation="horizontal"> <RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/radioButton1_text" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/radioButton2_text" /> </RadioGroup> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/gadiogroup" android:layout_marginBottom="14dp" android:layout_marginRight="27dp" android:layout_toLeftOf="@+id/textView1" android:text="@string/sex_text" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/gadiogroup" android:layout_marginBottom="-60dp" android:layout_marginRight="27dp" android:layout_toLeftOf="@+id/textView1" android:text="@string/shenggao_text" /> <EditText android:id="@+id/edittext" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_alignTop="@+id/textView3" android:ems="10" android:inputType="number" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edittext" android:layout_marginTop="32dp" android:layout_toRightOf="@+id/textView3" android:text="@string/button_text" /></RelativeLayout>activity_activity02.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Activity02" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentTop="true" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView1" android:layout_below="@+id/textView1" android:layout_marginTop="16dp"/> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView2" android:layout_below="@+id/textView2" android:layout_marginTop="14dp"/> </RelativeLayout>
MainActivity.java我们在设计中添加了RadioButton控件,并将它放在了RadioGroup组中,这样来做选择男、女的性别比较简单、方便。但是我们知道RadioButton只能选中一个,所以,在MainActivity.java中就需要添加RadioButton的监听。
private RadioGroup rg;private Button button;static String sex;rg = (RadioGroup)this.findViewById(R.id.gadiogroup); button = (Button)this.findViewById(R.id.button);rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) { switch(checkedId){case R.id.radioButton1:sex = "F";break;case R.id.radioButton2:sex = "M";break;}}});添加完RadioButton的监听后,就需要添加按钮Button的click监听事件,在其中要把RadioButton的监听事件包含进去,并且还要向Activity02中传递数据。传递数据的时候就要用到bundle.putString(String key, String value)方法。
首先我来介绍一下传递数据的过程:
Bundle bundle = new Bundle();bundle.putString("sex", "男性");Intent intent = new Intent();intent.putExtras(bundle);intent.setClass(MainActivity.this, Activity02.class);startActivity(intent);
在另一个Activity02中接受数据:Intent intent = getIntent();Bundle bundle=intent.getExtras();String sex=bundle.getString("sex");Toast.makeText(this, "您选择的是:"+sex, Toast.LENGTH_LONG);这只是简单的数据传递过程,那么现在我们就把上边这个“计算标准体重”的案例的Button的click事件补充完整:
public class MainActivity extends Activity {private RadioGroup rg; private Button button; private EditText et; static String sex="F" ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rg = (RadioGroup)this.findViewById(R.id.gadiogroup); button = (Button)this.findViewById(R.id.button); et = (EditText)this.findViewById(R.id.edittext); button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Bundle bundle = new Bundle();rg.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {switch(checkedId){case R.id.radioButton1:sex = "F";break;case R.id.radioButton2:sex = "M";break;}}});int a =Integer.parseInt(et.getText().toString()) ;if(sex == "F"){ String b = (a-80)*0.70+""; bundle.putString("sex", "男性"); bundle.putString("result", b);}else if(sex == "M"){ String c = (a-70)*0.60+"";bundle.putString("sex", "女性");bundle.putString("result", c);} bundle.putString("shengao", et.getText().toString());Intent intent = new Intent();intent.putExtras(bundle);intent.setClass(MainActivity.this, Activity02.class);startActivity(intent);}}); }}Activity02.java
public class Activity02 extends Activity {private TextView text1,text2,text3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_activity02);text1 = (TextView)this.findViewById(R.id.textView1);text2 = (TextView)this.findViewById(R.id.textView2);text3 = (TextView)this.findViewById(R.id.textView3);Intent intent = getIntent(); Bundle bundle=intent.getExtras(); String sex=bundle.getString("sex");text1.setText("您选择的是"+sex);String shengao=bundle.getString("shengao");text2.setText("您的身高是"+shengao+"厘米");String result=bundle.getString("result");text3.setText("您的标准体重是:"+result+"公斤");}}
这样,你就可以做一个Android应用小程序-----《计算你的标准体重》,还等什么,赶快行动吧。
- 从一个Activity向另一个Activity传递数据
- Android 从一个Activity向另一个Activity传递一个对象
- 从一个Activity向另一个Activity中的Fragment传递参数
- Android Intent传递数据从一个Activity到另一个Activity
- Intent传递数据:从一个Activity到另一个Activity
- Intent传递数据从一个Activity到另一个Activity
- Intent传递数据从一个Activity到另一个Activity
- 一个Activity给另一个Activity传递数据
- Android Activity往另外一个Activity传递数据,Fragment从另一个Activity获取数据
- 从一个activity跳转到另一个activity,利用intent传递数据
- 从一个activity跳转到另一个activity,利用intent传递数据
- 安卓从一个Activity跳转到另一个Activity传递数据实现
- 从一个Activity传输数据到另一个Activity
- 从一个Activity跳转到另一个Activity
- 从一个activity启动另一个activity失败
- 从一个activity中启动另一个activity
- 安卓中从一个Activity启动另一个Activity
- 从一个Activity转到另一个Activity
- 位运算
- linux shell ----while Loop
- 传值的一个代码
- C专家编程(三)
- ubifs文件系统简介
- 从一个Activity向另一个Activity传递数据
- POJ 1001
- 题目103:珍惜现在,感恩生活
- eclipse+webservice开发实例
- 【poj2195】【二分图最佳匹配】Going Home
- 编译l链接的原理
- Javascript脚本语言简介、查找元素节点、查看是否存在子节点、根节点
- bluez architecture
- 课后作业1