Android注册页面,并传递数据给下个页面进行数据显示

继上个教程“Android实现页面停留”,本教程我们在跳转后的SecondActivity里面实现注册页面,并将获取到的数据传递给下个页面,并进行展示

activity_second.xml代码如下:

<LinearLayout 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:orientation="vertical"
    tools:context=".SecondActivity" >

    <TextView
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:background="#37403f"
        android:gravity="center"
        android:text="用户注册"
        android:textColor="#fff"
        android:textSize="20sp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="65dp" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:gravity="center_vertical|right"
            android:text="账号:"
            android:textSize="20sp" />

        <EditText
            android:id="@+id/et_id"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="4"
            android:background="@drawable/et_border" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="65dp" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:gravity="center_vertical|right"
            android:text="密码:"
            android:textSize="20sp" />

        <EditText
            android:id="@+id/et_pw"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="4"
            android:background="@drawable/et_border" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="65dp" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:gravity="center_vertical|right"
            android:text="班级:"
            android:textSize="20sp" />
        <!--下拉列表-->
        <Spinner
            android:id="@+id/sp_classes"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="4" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="65dp" >
        <TextView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:gravity="center_vertical|right"
            android:text="性别"
            android:textSize="20sp" />
        <RadioGroup 
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="4"
            android:orientation="horizontal"
            >
            <RadioButton 
                android:id="@+id/rb_m"
                android:layout_width="60dp"
                android:layout_height="match_parent"
                android:text="男"
                />
            <RadioButton 
                android:id="@+id/rb_w"
                android:layout_width="60dp"
                android:layout_height="match_parent"
                android:text="女"
                />
        </RadioGroup>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="65dp" >
        <TextView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:gravity="center_vertical|right"
            android:text="爱好:"
            android:textSize="20sp" />
        <CheckBox 
            android:id="@+id/cb_net"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="上网"
            />
        <CheckBox 
            android:id="@+id/cb_talk"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="聊天"
            />
        <CheckBox 
            android:id="@+id/cb_sleep"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="睡觉"
            />
        <CheckBox 
            android:id="@+id/cb_book"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="看书"
            />
            </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="65dp" 
        android:gravity="center">
        <Button 
            android:id="@+id/btn_yes"
            android:layout_width="120dp"
            android:layout_height="60dp"
            android:text="确定"
            />
        <Button 
            android:id="@+id/btn_no"
            android:layout_width="120dp"
            android:layout_height="60dp"
            android:text="取消"
            />
    </LinearLayout>

</LinearLayout>

效果图如下:







在res/layout文件夹下面新建一个Android XML File,后面要用

找到TextView起个名字simple_item

 新建ThirdActivity用来接收数据并显示

SecondActivity.java代码如下:

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.Toast;

public class SecondActivity extends Activity implements OnClickListener {

    // 定义所需要的控件
	private String[] classes;
	private EditText etId, etPw;
	private Spinner spClasses;
	private RadioButton rbM, rbW;
	private CheckBox cbNet, cbTalk, cbSleep, cbBook;
	private Button btnYes, btnNo;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
        // 去掉标题栏
		getActionBar().hide();
		setContentView(R.layout.activity_second);
        // 使用init()方法
		init();
        // 声明数据源
		classes = new String[] { "移动215", "移动214", "移动213", "移动212" };
        // 使用数组适配器
        // 初始化适配器
        // 这里我们就要用到上面所新建的Android XML File “R.layout.simple_item”
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(
				getApplicationContext(), R.layout.simple_item, classes);
        // 绑定适配器
		spClasses.setAdapter(adapter);
        // 按钮建立点击事件
		btnYes.setOnClickListener(this);

	}

    // 定义一个方法用来找到所有的控件id
	private void init() {
		etId = (EditText) findViewById(R.id.et_id);
		etPw = (EditText) findViewById(R.id.et_pw);
		spClasses = (Spinner) findViewById(R.id.sp_classes);
		rbM = (RadioButton) findViewById(R.id.rb_m);
		rbW = (RadioButton) findViewById(R.id.rb_w);
		cbNet = (CheckBox) findViewById(R.id.cb_net);
		cbTalk = (CheckBox) findViewById(R.id.cb_talk);
		cbSleep = (CheckBox) findViewById(R.id.cb_sleep);
		cbBook = (CheckBox) findViewById(R.id.cb_book);
		btnYes = (Button) findViewById(R.id.btn_yes);
		btnNo = (Button) findViewById(R.id.btn_no);
	}

	@Override
	public void onClick(View arg0) {
        // 获取性别数据
        // 定义一个String类型的sex,用来接收sex值
		String sex = "";
		if (rbM.isChecked()) {
            // 如果rbM被选中,sex值为rbM的文本内容
			sex = rbM.getText().toString();
		}
		if (rbW.isChecked()) {
            // 如果rbW被选中,sex值为rbW的文本内容
			sex = rbW.getText().toString();
		}
        // 定义一个String类型的userName ,用来接收userName 值
		String userName = etId.getText().toString();
        // 定义一个String类型的pwd,用来接收pwd值
		String pwd = etPw.getText().toString();
        // 定义一个String类型的fav,用来接收fav值
		String fav = "";
		if (cbNet.isChecked()) {
            // 如果cbNet被选中,fav值为cbNet的文本内容
            // 因为fav的值是多选内容,所以为了确保点击多个按钮的同时数据同时存在,要用+=
			fav += cbNet.getText().toString();
		}
		if (cbTalk.isChecked()) {
            // 如果cbTalk被选中,fav值为cbTalk的文本内容
			fav += cbTalk.getText().toString();
		}
		if (cbSleep.isChecked()) {
            // 如果cbSleep被选中,fav值为cbSleep的文本内容
			fav += cbSleep.getText().toString();
		}
		if (cbBook.isChecked()) {
            // 如果cbBook被选中,fav值为cbBook的文本内容
			fav += cbBook.getText().toString();
		}
        // 定义一个int类型的值用来接收spClasses的下标值           
		int i = spClasses.getSelectedItemPosition();
        // 定义一个String类型的值来接收所选班级的内容
		String classs = classes[i];
        // 使用Intent来启动ThridlyActivity,即实现跳转页面
		Intent it = new Intent(getApplicationContext(), ThirdActivity.class);
        // 将String数据打包到Intent中,并给它一个Key标识
		it.putExtra("fav", fav);
		it.putExtra("sex", sex);
		it.putExtra("username ", userName );
		it.putExtra("pwd", pwd);
		it.putExtra("classs", classs);
        // 启动Intent
        startActivity(it);
        // Toast显示,如果不需要可以不写
		Toast.makeText(getApplicationContext(), sex + fav + id + pwd + classes,
				1).show();
	}

}

 在activity_third.xml,我们需要建所需要的文本框用来显示所获取到的所有数据

 代码如下:

<LinearLayout 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:orientation="vertical"
    tools:context=".ThirdActivity" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="65dp" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:gravity="center_vertical|right"
            android:text="账号:"
            android:textSize="25dp" />

        <TextView
            android:id="@+id/tv_copy"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="4"
            android:background="#edc"
            android:textSize="25sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="65dp" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:gravity="center_vertical|right"
            android:text="密码:"
            android:textSize="25dp" />

        <TextView
            android:id="@+id/tv_pw"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="4"
            android:background="#edc"
            android:textSize="25sp" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="65dp" >

        <TextView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:gravity="center_vertical|right"
            android:text="班级:"
            android:textSize="25dp" />

        <TextView
            android:id="@+id/tv_classes"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="4"
            android:background="#edc"
            android:textSize="25sp" />
    </LinearLayout>
    <LinearLayout 
        android:layout_width="match_parent"
        android:layout_height="65dp"
        >
        <TextView 
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:text="性别:"
            android:gravity="center_vertical|right"
            android:textSize="25dp" 
            />
        <TextView 
            android:id="@+id/tv_sex"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1"
            android:textSize="25dp"
            />
        <TextView 
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1.5"
            android:text="爱好:"
            android:gravity="center_vertical|right"
            android:textSize="25dp" 
            />
        <TextView 
            android:id="@+id/tv_fav"
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_weight="1.5"
            android:textSize="25dp"
            />
    </LinearLayout>

</LinearLayout>

ThirdActivity.java代码如下:

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.widget.TextView;

public class ThridlyActivity extends Activity{

    // 定义控件
	TextView tvCopy,tvClass,tvPw,tvSex,tvFav,tvClasses;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
        // 去掉标题栏
		getActionBar().hide();
		setContentView(R.layout.activity_thrid);
        
		
		init();
        // getIntent()方法获得这个intent
		Intent it=getIntent();
        // 再getStringExtra("Key"),获得String型变量值
        // 注意:如果不加""是获得常量值
		String userName=it.getStringExtra("username");
		String pwd=it.getStringExtra("pwd");
		String sex=it.getStringExtra("sex");
		String fav=it.getStringExtra("fav");
		String classs=it.getStringExtra("classs");
        // 将获取到的值给每个TextView
		tvCopy.setText(userName);
		tvPw.setText(pwd);
		tvSex.setText(sex);
		tvFav.setText(fav);
		tvClasses.setText(classs);
	}
    // 找到控件
	public void init(){
		tvCopy=(TextView) findViewById(R.id.tv_copy);
		tvPw=(TextView) findViewById(R.id.tv_pw);
		tvSex=(TextView) findViewById(R.id.tv_sex);
		tvFav=(TextView) findViewById(R.id.tv_fav);
		tvClasses=(TextView) findViewById(R.id.tv_classes);
	}


}

最终效果图:

 ----下拉列表由于我是默认的所以看不清,可按照自己的需求来设置背景颜色以及字体颜色

        如果有不正确或者更好的方法,欢迎指正

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值