为什么我的Android Studio(Kotlin)在预览中显示Android手机的布局,而不是在构建应用程序中?

为什么我的Android Studio(Kotlin)在预览中显示Android手机的布局,而不是在构建应用程序中?,android,android-layout,kotlin,Android,Android Layout,Kotlin,我在Android Studio中制作了一个简单的应用程序。我在XML布局文件中使用了两个文本视图和一个按钮。文本视图和按钮都显示在预览中,但在构建Apk中只有按钮显示。它没有给出任何错误。我不知道是什么问题,我尝试了所有可能的方法来解决它,但没有得到任何东西 活动\家庭XML代码 第二项活动 第二个活动XML 而不是这些行 var email_user = textViewSendEmail.text var password_user = textViewSendPassword.text

我在Android Studio中制作了一个简单的应用程序。我在XML布局文件中使用了两个文本视图和一个按钮。文本视图和按钮都显示在预览中,但在构建Apk中只有按钮显示。它没有给出任何错误。我不知道是什么问题,我尝试了所有可能的方法来解决它,但没有得到任何东西

活动\家庭XML代码

第二项活动

第二个活动XML


而不是这些行

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
)来表示你的身高问题。在MainActivity中,您将数据作为额外的目的。但在SecondActivity中,您尝试从intent的包中获取数据

改变这个

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

var emailData = intent.getStringExtra("email")
var passwordData = intent.getStringExtra("password")`

或者,您可以将数据放入MainActivity中的Bundle中,然后将此Bundle放入intent中。然后获取数据,就像您对当前解决方案所做的那样。

我们可能需要从您的日志中获取更多信息共享您的kotlin编码检查您的背景色。我尝试过,但没有任何更改。确切的问题是“Xml文本视图不显示在构建apk文件中,静态布局和视图总是显示而不生成对象”。它们应该是可见的。尽量不要从“活动”中为它们设置文本,只保留您通过
text
参数在xml中设置的文本。@PankajTungaria您在EditText中键入了什么吗?它有效。。谢谢@Radesh,谢谢你们所有人。问题是我在onclick方法之外创建了textview对象。但是不知道为什么这个对象很重要,因为这些文本视图是静态的。。无论如何,谢谢you@PankajTungaria当您在中调用它时,您将获得EditText的当前文本,因此当在onCreate()中调用它时,它仍然为null,并且当您在btn中调用它时,单击它以获得一些文本
var email_user = textViewSendEmail.text.toString()
var password_user = textViewSendPassword.text.toString()
 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)
    }
var bundle : Bundle? = intent.extras
var emailData = bundle!!.getString("email")
var passwordData = bundle.getString("password")
var emailData = intent.getStringExtra("email")
var passwordData = intent.getStringExtra("password")`