鸟姐学Android-----多个Activity之间的“红娘”_Intent

 Intent:不同组件之间的媒介。之前学的都是单个Activity上的组件,那多个Activity之间是怎么交互的呢?这时就用到了Intent。Intent可以启动一个Activity,也可以启动一个Service,还可以发起一个广播Broadcast。今天做了一个简单的Demo用户注册,来说明两个Activity之间如何调用。
最终结果图片:

 

图片

 

图片

 

当然,两个Activity都要在AndroidManifest.xml里配置:
<activity
            android:name=".RegisterTestActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
           <activity
            android:name="ResultActivity"></activity>
        第一个页面布局main.xml:<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TableLayout
        android:id="@+id/tableLayout1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:collapseColumns="3"
        android:stretchColumns="1" >
        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <TextView
                android:id="@+id/TextView01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="用户名称" >
            </TextView>
            <EditText
                android:id="@+id/username"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="" >
            </EditText>
        </TableRow>
        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <TextView
                android:id="@+id/TextView02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="用户密码" >
            </TextView>
            <EditText
                android:id="@+id/password"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:password="true"
                android:text="" >
            </EditText>
        </TableRow>
        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <TextView
                android:id="@+id/TextView03"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="性别" >
            </TextView>
            <RadioGroup
                android:id="@+id/gender_g"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >
                <RadioButton
                    android:id="@+id/male"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="男" />
                <RadioButton
                    android:id="@+id/female"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="女" />
            </RadioGroup>
        </TableRow>
        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <TextView
                android:id="@+id/TextView04"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="婚否" >
            </TextView>
            <ToggleButton
                android:id="@+id/marriged"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@+id/ToggleButton01" >
            </ToggleButton>
        </TableRow>
        <TableRow
            android:id="@+id/tableRow5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <TextView
                android:id="@+id/hobby"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="爱好" >
            </TextView>
            <CheckBox
                android:id="@+id/reading"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="阅读" />
            <CheckBox
                android:id="@+id/swimming"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="游泳" />
        </TableRow>
        <TableRow
            android:id="@+id/tableRow6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <TextView
                android:id="@+id/TextView05"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="职务" >
            </TextView>
            <Spinner
                android:id="@+id/position"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </TableRow>
        <TableRow
            android:id="@+id/tableRow7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
            <Button
                android:id="@+id/cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="取消" >
            </Button>
            <Button
                android:id="@+id/register"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="注册" >
            </Button>
        </TableRow>
    </TableLayout>
</LinearLayout>
相关代码:package com.register.gl;
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.ArrayAdapter;
import android.widget.RadioButton;
import android.widget.ToggleButton;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.CheckBox;
public class RegisterTestActivity extends Activity {
    /** Called when the activity is first created. */
 private Button register,cancel;
 private ToggleButton marriged;
 private RadioButton male,female;
 private EditText username,password;
 private Spinner position;
 private CheckBox reading,swimming;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        username=(EditText)findViewById(R.id.username);
        password=(EditText)findViewById(R.id.password);
       
        male=(RadioButton)findViewById(R.id.male);
        female=(RadioButton)findViewById(R.id.female);
       
        reading=(CheckBox)findViewById(R.id.reading);
        swimming=(CheckBox)findViewById(R.id.swimming);
        marriged=(ToggleButton)findViewById(R.id.marriged);
        position=(Spinner)findViewById(R.id.position);
       
        String[] str={"ceo","cfo","pm"};
        ArrayAdapter aa=new ArrayAdapter(this,android.R.layout.simple_spinner_item,str);
        position.setAdapter(aa);
       
        register=(Button)findViewById(R.id.register);
        cancel=(Button)findViewById(R.id.cancel);
        
        register.setOnClickListener(new OnClickListener(){
         public void onClick(View v){
          Bundle b=new Bundle();
          b.putString("username", "用户名称:"+username.getText().toString());
          b.putString("password", "用户密码:"+password.getText().toString());
          
          if(male.isChecked()){
           b.putString("gender", "性别:男");
          }else{
           b.putString("gender", "性别:女");
          }
          String temp="爱好:";
          if(reading.isChecked()){
           temp+="阅读";
          }
          if(swimming.isChecked()){
           temp+=" "+"游泳";
          }
          b.putString("hobby", temp);
          
          if(marriged.isChecked()){
           b.putString("marriged", "婚否:已婚");
          }else{
           b.putString("marriged", "婚否:未婚");
          }
          b.putString("position", "职位:"+position.getSelectedItem().toString());
          Intent intent=new Intent(RegisterTestActivity.this,ResultActivity.class);
          intent.putExtra("data", b);
          startActivity(intent);
         }
        });
    }
}
第二个页面result.xml:<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
   
<ListView
    android:id="@+id/ListView01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"></ListView>
</LinearLayout>
相关代码:
package com.register.gl;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.*;
import java.util.ArrayList;
import java.util.List;
public class ResultActivity extends Activity {
 private ListView listView;
  protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.result);
  listView=(ListView)findViewById(R.id.ListView01);
  Intent intent=this.getIntent();
  Bundle b=intent.getBundleExtra("data");
 
  List list=new ArrayList();
  list.add(b.getString("username"));
  list.add(b.getString("password"));
  list.add(b.getString("position"));
  list.add(b.getString("gender"));
  list.add(b.getString("hobby"));
  list.add(b.getString("marriged"));
 
  ArrayAdapter adapter=new ArrayAdapter(this,android.R.layout.simple_list_item_checked,list);
 
  listView.setAdapter(adapter);
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值