1. java代码

  MainActivity:

 1 package com.example.activitydemo;
 2 
 3 import androidx.appcompat.app.AppCompatActivity;
 4 
 5 import android.content.Intent;
 6 import android.os.Bundle;
 7 import android.os.Handler;
 8 import android.text.TextUtils;
 9 import android.util.Log;
10 import android.view.View;
11 import android.widget.Button;
12 import android.widget.EditText;
13 import android.widget.Toast;
14 
15 /**
16  * 实现页面的跳转并且把数据传给另外一个界面
17  */
18 
19 public class MainActivity extends AppCompatActivity {
20 
21     private static final String TAG = "MainActivity";
22     private EditText mUsername;
23     private EditText mPassword;
24     private Button mLogin;
25 
26     @Override
27     protected void onCreate(Bundle savedInstanceState) {
28         super.onCreate(savedInstanceState);
29         setContentView(R.layout.activity_main);
30 
31         // 初始化控件
32         initView();
33 
34         // 设置监听事件
35         initListener();
36     }
37 
38     private void initListener() {
39         mLogin.setOnClickListener(new View.OnClickListener() {
40             @Override
41             public void onClick(View v) {
42                 // 创建专属于login按钮的事件
43                 Log.d(TAG, "Login clicked");
44 
45                 // 分开写函数的原因在于,执行一段内容后使用return结束,不影响下文的执行
46                 handlerLogin();
47 
48                 Log.d(TAG, "下文被执行");
49 
50             }
51         });
52     }
53 
54     private void handlerLogin() {
55         String usernameText = mUsername.getText().toString().trim();
56         if (TextUtils.isEmpty(usernameText)) {
57             // 在手机的最底下弹出提示
58             Toast.makeText(this, "输入的账号为空!", Toast.LENGTH_SHORT).show();
59             return;
60         }
61 
62         String passwordText = mPassword.getText().toString().trim();
63         if (TextUtils.isEmpty(passwordText)) {
64             Toast.makeText(this, "输入的密码为空!", Toast.LENGTH_SHORT).show();
65             return;
66         }
67 
68         // 有密码有账号以后,把数据传到另外一个界面
69         // 创建一个意图对象,通过startActivity方法实现跳转
70         Intent intent = new Intent(this, SecondaryActivity.class);
71         // 通过类似键值对进行数据传输
72         intent.putExtra("username", usernameText);
73         intent.putExtra("password", passwordText);
74         startActivity(intent);
75 
76     }
77 
78     private void initView() {
79         mUsername = this.findViewById(R.id.username);
80         mPassword = this.findViewById(R.id.password);
81         mLogin = this.findViewById(R.id.login);
82     }
83 }

 

  SecondaryActivity:

 1 package com.example.activitydemo;
 2 
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.os.Bundle;
 6 import android.util.Log;
 7 import android.widget.TextView;
 8 
 9 import androidx.annotation.Nullable;
10 
11 
12 
13 public class SecondaryActivity extends Activity {
14     private static final String TAG = "SecondaryActivity";
15 
16     @Override
17     protected void onCreate(@Nullable Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity_second);
20 
21         TextView info = this.findViewById(R.id.info);
22 
23         Intent intent = getIntent();
24         String username = intent.getStringExtra("username");
25         String password = intent.getStringExtra("password");
26 
27         Log.d(TAG, "username == " + username);
28         Log.d(TAG, "password == " + password);
29 
30         // 也可以用占位符写
31         info.setText("您的账号:"+ username + "; 密码:" + password);
32 
33     }
34 }

 

2. layout

  activity_main:

<?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:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="账号:"/>

    <EditText
        android:id="@+id/username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="密码:"/>

    <EditText
        android:id="@+id/password"
        android:inputType="textPassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

    <Button
        android:id="@+id/login"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="马上登录"/>
</LinearLayout>

 

  activity_second:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout
 3     xmlns:android="http://schemas.android.com/apk/res/android"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:orientation="vertical">
 7 
 8     <TextView
 9         android:layout_marginTop="20dp"
10         android:layout_width="match_parent"
11         android:layout_height="wrap_content"
12         android:text="登录信息如下:"/>
13 
14     <TextView
15         android:id="@+id/info"
16         android:layout_width="wrap_content"
17         android:layout_height="wrap_content"
18         android:text="您的账号:xxx; 密码:xxx"/>
19 
20 </LinearLayout>

 

3. AndroidManifest(注意其中的事项)

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.activitydemo">
 4 
 5     <application
 6         android:allowBackup="true"
 7         android:icon="@mipmap/ic_launcher"
 8         android:label="@string/app_name"
 9         android:roundIcon="@mipmap/ic_launcher_round"
10         android:supportsRtl="true"
11         android:theme="@style/Theme.ActivityDemo">
12         <activity android:name=".MainActivity"
13             android:label="@string/app_name">
14             <intent-filter>
15                 <action android:name="android.intent.action.MAIN" />
16 
17                 <category android:name="android.intent.category.LAUNCHER" />
18             </intent-filter>
19         </activity>
20 
21 <!--        多个界面要学会静态注册-->
22         <activity android:name=".SecondaryActivity"
23             android:label="@string/second_activity_name">
24 <!--            <intent-filter>-->
25 <!--                <action android:name="android.intent.action.MAIN" />-->
26 
27 <!--                <category android:name="android.intent.category.LAUNCHER" />-->
28 <!--            </intent-filter>-->
29 
30         </activity>
31 
32     </application>
33 
34 </manifest>

 

posted on 2021-09-07 14:25  EndlessShw  阅读(59)  评论(0)    收藏  举报