android - 打算时第二个活动元素没有变化
问题描述
我使用 Kotlin 做了一个简单的应用程序。我想换页。我创建了一个新的 Activity 并从 MainActivity 中调用它。当我运行 AVD,然后切换页面时,显示的页面是空的。根本没有像新活动这样的元素。
这是第二个 Activity 的意图代码:
class MainActivity : AppCompatActivity() {
already_have_account_text_view.setOnClickListener {
Log.d("MainActivity", "Try to login activity")
//launch the login activity
val intent = Intent(this, LoginActivity::class.java)
startActivity(intent)
}
登录活动代码:
package com.example.kotlinmessanger
import android.os.Bundle
import android.os.PersistableBundle
import androidx.appcompat.app.AppCompatActivity
class LoginActivity: AppCompatActivity(){
override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
super.onCreate(savedInstanceState, persistentState)
setContentView(R.layout.activity_login)
}
}
这是第二个 Activity 的 xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:padding="20dp"
android:background="#8BC34A"
tools:context=".LoginActivity">
<EditText
android:id="@+id/email_edittext_login"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginStart="32dp"
android:layout_marginLeft="32dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="32dp"
android:layout_marginRight="32dp"
android:background="#FFFFFF"
android:ems="10"
android:hint="E-mail"
android:inputType="textEmailAddress"
android:paddingLeft="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/password_edittext_login"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginTop="8dp"
android:background="#FFFFFF"
android:ems="10"
android:paddingLeft="16dp"
android:hint="Password"
android:inputType="textPassword"
app:layout_constraintEnd_toEndOf="@+id/email_edittext_login"
app:layout_constraintStart_toStartOf="@+id/email_edittext_login"
app:layout_constraintTop_toBottomOf="@+id/email_edittext_login" />
<Button
android:id="@+id/login_button_login"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_marginTop="8dp"
android:text="Button"
app:layout_constraintEnd_toEndOf="@+id/password_edittext_login"
app:layout_constraintStart_toStartOf="@+id/password_edittext_login"
app:layout_constraintTop_toBottomOf="@+id/password_edittext_login" />
</androidx.constraintlayout.widget.ConstraintLayout>
解决方案
请将 android:layout_width="0dp"
0dp 的宽度更改为所有 EditText 和 Button 的任何特定宽度,并为它们添加一些适当的宽度
推荐阅读
- javascript - 如何让孩子不在 ag 网格中重复(角度)
- python - 如何使用 python 创建 GUI 以获取用户输入并将其插入到 Excel 工作表中
- react-native - 澄清:升级到最新版本后,任何人都可以使用 react-native latest (0.61.5) 成功构建应用程序
- c - 如何确定C中字符数组中有多少个字符?
- ios - Apple 钱包活动通行证
- mysql - MySQL主从复制中的截断语句问题
- html - 自 Chrome 76 以来的崩溃边距
- java - 错误 127 无法在 mac 上编译 JNI 程序
- java - 检查java中原始数据类型的输入
- python - librosa 产生“未详细”的 MFCC 频谱图