我编写了代码,但xml文件中只有一条红线,而java文件中只有一条红线:无法解析符号'@ + id / editName
这是xml文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_register"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.loginproject.RegisterActivity">
<TextView
android:text="SQLite User Registration"
android:gravity="center"
android:textSize="20dp"
android:textColor="#000"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:id="@+id/textView" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="Enter Name"
android:textColor="#000"
android:ems="10"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:id="@+id/editName"
android:gravity="center"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="Enter Email"
android:textColor="#000"
android:ems="10"
android:layout_below="@+id/editName"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:id="@+id/editEmail"
android:gravity="center"/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:hint="Enter Password"
android:textColor="#000"
android:ems="10"
android:layout_below="@+id/editEmail"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:id="@+id/editPassword"
android:gravity="center"/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/buttonRegister"
android:layout_below="@+id/editPassword"
android:layout_marginTop="20dp"
android:text="Register From here "/>
</RelativeLayout>
这里是RegisterActivity.java,仅包含具有editName的部分:
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
Register = (Button)findViewById(R.id.buttonRegister);
Email = (EditText)findViewById(R.id.editEmail);
Password = (EditText)findViewById(R.id.editPassword);
Name = (EditText)findViewById(R.id.editName);
...
我只有两个文件中的editName有错误,而对于editPassword或editEmail没有错误。
当我尝试运行该应用程序时,它在虚拟设备上停止工作,但是在调试该应用程序时它没有显示任何错误,因此我无法理解问题出在哪里。
我可以忘记做点什么吗?
最佳答案
您对.java文件没有任何问题,只需在.xml文件中进行以下更改即可。
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:hint="Enter Name"
android:textColor="#000"
android:ems="10"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:id="@+id/editName"
android:gravity="center"/>
只需删除
android:inputType="textEmailAddress"
所以你的代码会像这样
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="Enter Name"
android:textColor="#000"
android:ems="10"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:id="@+id/editName"
android:gravity="center"/>