Android四大组件之Activity2-通过显式意图实现界面跳转
写了新的Activity要先在AndroidManifest.xml中注册
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.xrj.activitydemo"> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <!-- 哪写这个哪是入口--> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity"/> </application> </manifest>
MainActivity.java
package com.xrj.activitydemo; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private EditText maccount; private EditText mpasswprd; private Button mlogin; private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initListener(); } private void initView() { maccount = (EditText) this.findViewById(R.id.account); mpasswprd = (EditText) this.findViewById(R.id.password); mlogin = this.findViewById(R.id.login); } private void initListener() { mlogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Log.d(TAG,"login click..."); handlerLogin(); } }); } private void handlerLogin() { String accountText = maccount.getText().toString().trim(); if(TextUtils.isEmpty(accountText)) { Toast.makeText(this,"输入的账号为空",Toast.LENGTH_SHORT).show(); } String passwordText = mpasswprd.getText().toString().trim(); if(TextUtils.isEmpty(passwordText)) { Toast.makeText(this,"输入的密码为空",Toast.LENGTH_SHORT).show(); } //跳转 Intent intent = new Intent(this,SecondActivity.class); intent.putExtra("account",accountText);//传数据 intent.putExtra("password",passwordText); startActivity(intent); } }
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="账号" android:textSize="35sp"/> <EditText android:id="@+id/account" android:layout_width="match_parent" android:layout_height="wrap_content"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密码" android:textSize="35sp"/> <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="wrap_content" android:layout_height="wrap_content" android:text="登录" android:layout_gravity="center_horizontal"/> </LinearLayout>
SecondActivity.java
package com.xrj.activitydemo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.widget.TextView; public class SecondActivity extends Activity { private static final String TAG = "SecondActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); TextView info = (TextView) this.findViewById(R.id.info) ; Intent intent = getIntent(); String account = intent.getStringExtra("account"); String password = intent.getStringExtra("password"); Log.d(TAG,"account==" + account); Log.d(TAG,"password==" + password); info.setText("您的账号是" + account + " 您的密码是:" + password); } }
activity_second.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录信息如下"/> <TextView android:id="@+id/info" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>