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

    xiaoxiao2021-03-25  142

    创建第二个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>

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

    效果:

    转载请注明原文地址: https://ju.6miu.com/read-6096.html

    最新回复(0)