gpt4 book ai didi

android - 为什么我的 Android Studio (Kotlin) 在 Preview 中显示了 Android 手机的布局,但在 Build App 中却没有?

转载 作者:行者123 更新时间:2023-12-02 12:53:42 25 4
gpt4 key购买 nike

我在 Android Studio 中制作了一个简单的应用程序。我在 XML 布局文件中使用了两个 TextView 和一个 Button。 textview 和 Button 都显示在预览中,但在 Build Apk 中只有 Button Showing。它没有给出任何错误。我不知道是什么问题,我尝试了所有可能的方法来修复它,但没有得到任何结果。

activity_home 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">

<EditText android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="mnail"
android:id="@+id/editText"/>

<EditText
android:id="@+id/textViewSendEmail"
android:layout_width="344dp"
android:layout_height="44dp"
android:hint="Email"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"/>
<EditText
android:id="@+id/textViewSendPassword"
android:layout_width="344dp"
android:layout_height="44dp"
android:hint="Password"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:layout_below="@+id/textViewSendEmail"/>

<Button
android:id="@+id/sendButton"
android:layout_width="344dp"
android:layout_height="44dp"
android:text="send"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:layout_below="@+id/textViewSendPassword"/>

</LinearLayout>

MainActivity 代码

package com.kotlinintent

import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_home.*

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_home)

var email_user = textViewSendEmail.text
var password_user = textViewSendPassword.text

sendButton.setOnClickListener {
intent = Intent(this, SecondActvity::class.java)
intent.putExtra("email", email_user)
intent.putExtra("password", password_user)
startActivity(intent)
}
}
}

SecondActivity

package com.kotlinintent

import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_second.*

class SecondActvity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_second)


var bundle : Bundle? = intent.extras
var emailData = bundle!!.getString("email")
var passwordData = bundle.getString("password")

textViewEmail.text = emailData
textViewPassword.text = passwordData
}
}

第二个 Activity XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SecondActvity">

<TextView
android:id="@+id/textViewEmail"
android:layout_width="match_parent"
android:layout_height="44dp"
android:text="Email"/>
<TextView
android:id="@+id/textViewPassword"
android:layout_width="match_parent"
android:layout_height="44dp"
android:text="Password"
android:layout_marginTop="40dp"
/>

<Button
android:id="@+id/getButton"
android:layout_width="match_parent"
android:layout_height="44dp"
android:text="get"
android:layout_marginTop="40dp"
/>
</LinearLayout>

最佳答案

代替这些行

var email_user = textViewSendEmail.text
var password_user = textViewSendPassword.text

使用这个

var email_user = textViewSendEmail.text.toString()
var password_user = textViewSendPassword.text.toString()

而且您还必须在 onclick 中调用这些行,因此您的代码必须像这样

 sendButton.setOnClickListener {
var email_user = textViewSendEmail.text.toString()
var password_user = textViewSendPassword.text.toString()
intent = Intent(this, SecondActvity::class.java)
intent.putExtra("email", email_user)
intent.putExtra("password", password_user)
startActivity(intent)
}

而且我建议使用 wrap_content 而不是静态大小 (44dp) 的高度

关于android - 为什么我的 Android Studio (Kotlin) 在 Preview 中显示了 Android 手机的布局,但在 Build App 中却没有?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54668552/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com