Android编程权威指南-----(三)第二个Activity

创建第二个activity。
就是在第一个activity的位置在创建一个activity并同时创建布局xml文件。
然后都一样。
要注意的是如何从第一个activity跳转到第二个activity。

  Intent i = new Intent(MainActivity.this, Main2Activity.class);
          i.putExtra("username", Loginuser.getText().toString());
                    startActivity(i);

然后就相当于绑定数据,传递给第二个Activity

 i.putExtra("username", Loginuser.getText().toString());

在第二个Activity中获取第一个传递过来的参数

    Intent i = getIntent();//getIntent将该项目中包含的原始intent检索出来,将检索出来的intent赋值给一个Intent类型的变量intent
        Bundle bundle = i.getExtras();//.getExtras()得到intent所附带的额外数据
        String username = bundle.getString("username");
        Loginusername.setText(username);

竖屏和横屏不一样。横过来就会初始化第一个activity。
可以设置横屏的activity。就是activity的生命周期。

做了一个实例。就是模拟qq的登陆,新用户注册。
主要是跳转activity
遇到了一些问题
判断TextView是否为空:
是用.getText().toString().equals(“”);
注意是要toString并且要用equals比较。不能用双等于。

然后ImageView不显示图片。个别不显示
恩,改了一阵。后来发现!!!图片名不能为数字!!!

代码:
第一个activity:

package com.example.administrator.test2;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private  Button LoginButton;
    private TextView Loginuser;
    private TextView Loginpasswd;
    private TextView newuser;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        LoginButton = (Button)findViewById(R.id.button2);
        Loginuser = (TextView)findViewById(R.id.editText4);
        Loginpasswd = (TextView)findViewById(R.id.editText5);
        newuser = (TextView)findViewById(R.id.textView3);
        LoginButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (Loginuser.getText().toString().equals("")||Loginpasswd.getText().toString().equals("")){
                    int message = R.string.message;
                    Toast.makeText(MainActivity.this,message,Toast.LENGTH_SHORT).show();
                }
                //启动登陆后的界面
                if (!Loginuser.getText().toString().equals("")&&!Loginpasswd.getText().toString().equals("")) {
                    Intent i = new Intent(MainActivity.this, Main2Activity.class);
                    i.putExtra("username", Loginuser.getText().toString());
                    startActivity(i);
                }

            }
        });
        //新用户注册
        newuser.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i = new Intent(MainActivity.this, Main3Activity.class);
                startActivity(i);
            }
        });



    }




}

登陆后的第二个activity:

package com.example.administrator.test2;

import android.content.Context;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class Main2Activity extends AppCompatActivity {
    private TextView Loginusername;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Loginusername = (TextView)findViewById(R.id.textView2);
        //获取传过来的数据
        Intent i = getIntent();//getIntent将该项目中包含的原始intent检索出来,将检索出来的intent赋值给一个Intent类型的变量intent
        Bundle bundle = i.getExtras();//.getExtras()得到intent所附带的额外数据
        String username = bundle.getString("username");
        Loginusername.setText(username);
    }
}

新用户注册activity:

package com.example.administrator.test2;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class Main3Activity extends AppCompatActivity {
    private Button LoginButtn;
    private TextView Loginuser;
    private TextView Loginpasswd;
    private TextView Loginpasswd2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);

        LoginButtn = (Button)findViewById(R.id.button2);
        Loginuser = (TextView)findViewById(R.id.editText4);
        Loginpasswd = (TextView)findViewById(R.id.editText5);
        Loginpasswd2 = (TextView)findViewById(R.id.editText6);
        LoginButtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (Loginuser.getText().toString().equals("")&&Loginpasswd.getText().toString().equals("")&&Loginpasswd2.getText().toString().equals("")){
                    int message = R.string.message;
                    Toast.makeText(Main3Activity.this,message,Toast.LENGTH_SHORT).show();
                }
                if(!Loginpasswd.getText().toString().equals(Loginpasswd2.getText().toString())){
                    int password =R.string.password;
                    Toast.makeText(Main3Activity.this,password,Toast.LENGTH_SHORT).show();

                }
                if (!Loginuser.getText().toString().equals("")&&!Loginpasswd.getText().toString().equals("")&&!Loginpasswd2.getText().toString().equals("")&&Loginpasswd.getText().toString().equals(Loginpasswd2.getText().toString())){
                    Intent i = new Intent(Main3Activity.this, MainActivity.class);
                    startActivity(i);
                }

            }
        });
    }
}

首次进入登陆界面:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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"
    android:background="#F0F0F0"
    tools:context="com.example.administrator.test2.MainActivity">

    <Button
        android:text="登  陆"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/button2"
        android:layout_marginTop="31dp"
        android:layout_below="@+id/editText5"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        style="@style/Widget.AppCompat.Button.Colored"
        android:background="@drawable/shape" />

    <EditText
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:ems="10"
        android:layout_marginTop="100dp"
        android:id="@+id/editText4"
        android:hint="QQ号/手机号/邮箱"
        android:inputType="textPersonName"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="@drawable/text"
        android:selectAllOnFocus="false"

        />

    <ImageView
        android:layout_width="60dp"
        android:layout_height="60dp"
        app:srcCompat="@drawable/qq"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="26dp"
        android:id="@+id/imageView"
        android:adjustViewBounds="false"/>

    <TextView
        android:text="忘记密码?"
        android:layout_width="70dp"
        android:layout_height="30dp"
        android:layout_below="@+id/button2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginTop="21dp"
        android:textColor="@color/colorPrimaryDark"
        android:id="@+id/textView"/>



    <TextView
        android:text="新用户注册"
        android:layout_width="70dp"
        android:layout_height="30dp"
        android:layout_alignTop="@+id/textView"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_marginRight="21dp"
        android:layout_marginEnd="21dp"
        android:textColor="@color/colorPrimaryDark"
        android:id="@+id/textView3"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/editText5"
        android:hint="密码"
        android:background="@drawable/text"
        android:layout_below="@+id/editText4"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>
</RelativeLayout>

登陆后的界面:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main2"
    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="com.example.administrator.test2.Main2Activity">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/qq"
        android:id="@+id/imageView2"
        android:layout_alignRight="@+id/imageView9"
        android:layout_alignEnd="@+id/imageView9"/>

    <ImageView
        android:layout_width="70dp"
        android:layout_height="60dp"
        app:srcCompat="@drawable/two"
        android:id="@+id/imageView10"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"/>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="70dp"
        app:srcCompat="@drawable/tree"
        android:id="@+id/imageView11"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:layout_alignTop="@+id/imageView10"/>

    <ImageView
        android:layout_width="70dp"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/one"
        android:id="@+id/imageView9"
        android:layout_alignTop="@+id/imageView10"
        android:layout_toLeftOf="@+id/imageView10"
        android:layout_toStartOf="@+id/imageView10"
        android:layout_marginRight="44dp"
        android:layout_marginEnd="44dp"/>

    <TextView
        android:text="TextView"
        android:layout_width="79dp"
        android:layout_height="30dp"
        android:id="@+id/textView2"
        android:layout_alignBottom="@+id/imageView2"
        android:layout_alignRight="@+id/imageView10"
        android:layout_alignEnd="@+id/imageView10"
        android:layout_marginBottom="30dp"/>

</RelativeLayout>

新用户注册界面:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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"
    android:background="#F0F0F0"
    tools:context="com.example.administrator.test2.MainActivity">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:ems="10"
        android:layout_marginTop="100dp"
        android:id="@+id/editText4"
        android:hint="QQ号/手机号/邮箱"
        android:inputType="textPersonName"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="@drawable/text"
        android:selectAllOnFocus="false"

        />

    <ImageView
        android:layout_width="60dp"
        android:layout_height="60dp"
        app:srcCompat="@drawable/qq"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="26dp"
        android:id="@+id/imageView"
        android:adjustViewBounds="false"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/editText5"
        android:hint="密码"
        android:background="@drawable/text"
        android:layout_below="@+id/editText4"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <EditText
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/editText6"
        android:hint="再次输入密码"
        android:background="@drawable/text"
        android:layout_below="@+id/editText5"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <Button
        android:text="注册"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/button2"
        android:layout_marginTop="13dp"
        style="@style/Widget.AppCompat.Button.Colored"
        android:background="@drawable/shape"
        android:layout_below="@+id/editText6"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>
</RelativeLayout>

新手学习.若有错误或者更好的方法等请戳我~

效果:
这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值