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>
浙公网安备 33010602011771号