xml - 每当我在 android studio 中运行应用程序时,我的应用程序就会一直停止
问题描述
我目前正在处理登录页面,现在我的应用程序正在停止。我的 kotlin 代码在这里。这是我的练习应用,它的基础语言是 kotlin。这里的 Xml 代码帮助我创建一个登录页面,这里的 kotlin 代码帮助我敬酒
package com.venkat.kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
class NewActivity : AppCompatActivity() , View.OnClickListener{
override fun onClick(pO: View?) {
Toast.makeText(this@NewActivity,"we clicked on button! ", Toast.LENGTH_LONG).show()
}
lateinit var etNumber : EditText
lateinit var etPs : EditText
lateinit var btnLogin : Button
lateinit var txtForgetPassword : TextView
lateinit var txtRegister : TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_new)
title = "Log in"
etNumber = findViewById(R.id.etNumber)
etPs = findViewById(R.id.etPs)
btnLogin = findViewById(R.id.txtForgetPassword)
txtForgetPassword = findViewById(R.id.txtForgetPassword)
txtRegister = findViewById(R.id.txtRegister)
btnLogin.setOnClickListener(this)
}
}
在此之后是我的 xml 代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00D84A"
tools:context=".NewActivity">
<ImageView
android:id="@+id/imgLogo"
android:layout_width="240dp"
android:layout_height="100dp"
android:layout_marginRight="80dp"
android:layout_marginLeft="80dp"
android:layout_marginTop="20dp"
android:src="@drawable/avengers_logo" />
<EditText
android:id="@+id/etNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:padding="6dp"
android:layout_below="@+id/imgLogo"
android:inputType="phone"
android:maxLength="10"
android:maxLines="1"
android:hint="@string/mobile_number"
android:textColor="#000000"
/>
<EditText
android:id="@+id/etPs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:padding="6dp"
android:layout_below="@+id/etNumber"
android:inputType="textPassword"
android:maxLength="10"
android:maxLines="1"
android:hint="@string/password"
android:textColor="#000000" />
<Button
android:id="@+id/btnLogin"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="20dp"
android:padding="6dp"
android:layout_below="@+id/etPs"
android:background="@color/purple_200"
android:text="@string/login"
android:textSize="18sp"
android:textStyle="bold"
/>
<TextView
android:id="@+id/txtForgetPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="6dp"
android:layout_marginTop="20dp"
android:layout_centerHorizontal="true"
android:layout_below="@+id/btnLogin"
android:text="@string/forget_password"
android:textColor="#000000" />
<TextView
android:id="@+id/txtRegister"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="31dp"
android:padding="6dp"
android:text="@string/register"
android:textSize="16sp"
android:layout_centerHorizontal="true"
android:textColor="#000000" />
</RelativeLayout>
在 android studio 中这里没有显示错误。在我的 android studio 中,其他应用程序正在运行。所以这段代码有问题。
解决方案
您必须注意 ide 警告。
btnLogin = findViewById(R.id.txtForgetPassword)
txtForgetPassword = findViewById(R.id.txtForgetPassword)
ide 正在突出显示findViewById(R.id.txtForgetPassword)
并发出警告
The id R.id.txtForgetPassword has already been looked up in this method; possible cut & paste error? (First usage here)
您正在尝试将 TextView 分配给 Button,因此不会发生强制转换并引发异常。只需更改如下:
btnLogin = findViewById(R.id.btnLogin)
推荐阅读
- javascript - Accessing property's array with a specific id
- javascript - 是否可以在 gulp4 gulp.watch 任务中获取文件名?
- r - 为什么 r(r 代码)在我的图表中给我锯齿线?
- ruby - 从字符串加载常量,在当前范围内解析
- node.js - 浏览器接受“经典”js 脚本标签,但不接受 ES6 模块 — 带有节点 http 服务器的 MIME 错误
- python - 将xml转换为pandas数据框python
- r - Googleway 不考虑交通时间(路线搜索)
- java - 如何将arraylist的每一行分配给它自己的数组
- extract-value - 多个元素的 ExtractValue
- android - 无法预览捕获的高质量图像