Android开发–UI之Bundle的使用

最近,把之前学过的东西大体的整理了以下,并且想把学过的心得分享给大家。我自己做了一个小小的demo,以便说明具体的应用。

Android开发--UI之Bundle的使用-LMLPHPAndroid开发--UI之Bundle的使用-LMLPHP

这里的两个界面是通过第一个界面输入,然后,第二个界面输出结果的。

废话少说,直接进入正题。

第一个界面的代码:

package com.example.intenttest;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText; public class MainActivity extends Activity { private EditText edtname;
private EditText edtage;
private EditText edtsex;
private Button send; private String name;
private String age;
private String sex; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); edtname = (EditText)findViewById(R.id.edt1);
edtage = (EditText)findViewById(R.id.edt2);
edtsex = (EditText)findViewById(R.id.edt3);
send = (Button)findViewById(R.id.btn); send.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
startTransmitData();
}
}); } private void startTransmitData(){
name = edtname.getText().toString(); //将edtname强制转换为String类型
age = edtage.getText().toString();
sex = edtsex.getText().toString(); //将edtsex强制转换为String类型
Intent mIntent = new Intent();
mIntent.setClass(getApplicationContext(),ShowActivity.class);
Bundle mBundle = new Bundle();
//通过key--valuse进行记录
mBundle.putString("name", name);
mBundle.putString("age", age);
mBundle.putString("sex", sex);
//将整个的数据进行封装到intent中,等待传递
mIntent.putExtras(mBundle);
startActivity(mIntent); } }

第一个界面的xml代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" > <EditText
android:id="@+id/edt1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" > </EditText> <EditText
android:id="@+id/edt2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" > </EditText> <EditText
android:id="@+id/edt3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" > </EditText> <Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:text="发送" /> </LinearLayout>

第二个界面的代码:

package com.example.intenttest;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView; public class ShowActivity extends Activity{ private TextView txtname;
private TextView txtage;
private TextView txtsex;
private Button cal; private String name;
private String age;
private String sex; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.showactivity); txtname = (TextView)findViewById(R.id.txt1);
txtage = (TextView)findViewById(R.id.txt2);
txtsex = (TextView)findViewById(R.id.txt3); Intent inten = getIntent();
Bundle bundle = inten.getExtras();
//通过key值进行获取所对应的valuse值
name = bundle.getString("name");
age = bundle.getString("age");
sex = bundle.getString("sex");
//将内容显示在控件中
txtname.setText(name);
txtage.setText(age);
txtsex.setText(sex); cal = (Button)findViewById(R.id.cal); cal.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
finish();
}
}); } }

第二个界面的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" > <TextView
android:id="@+id/txt1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000"
android:text="测试1" /> <TextView
android:id="@+id/txt2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000"
android:text="测试2" /> <TextView
android:id="@+id/txt3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#000"
android:text="测试3" /> <Button
android:id="@+id/cal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="返回" /> </LinearLayout>

代码到这里已经完成了大部分的功能,只是需要在配置文件中进行以下配置就可以了。

上面的解释很简单也很明了,我相信,你看过之后一定会有很大帮助吧。

你学会了吗??

04-25 02:47