Я хочу выполнить вход для приложения Android с использованием Android Studio и записью в kotlin.
Все, что у меня есть в моем приложении до сих пор, это 2 действия: LoginActivity и RegisterActivity. Я только начал кодировать и создал 2 пустых действия и отредактировал макеты. Тем не менее, когда я создал второе действие (зарегистрироваться), оно не видит активность_произведения, когда я пытаюсь установить ContentView.
Все, что у меня есть в классе, это:
package com.x.mobileappproject
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class RegisterActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_register)
}
}
Activity_register выделен красным, и когда я наведу на него курсор, он говорит: «неразрешенная ссылка: activity_register». Однако у меня есть файл в моей директории макета (я пытался создать его вручную, а также автоматически генерировать его при создании упражнения).
Редактировать 1
Здесь код из activity_register. 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="#008577"
android:orientation="vertical"
tools:context=".RegisterActivity"
android:scrollbarAlwaysDrawVerticalTrack="true">
<RelativeLayout
android:id="@+id/loginLayout"
android:layout_centerInParent="true"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/login_title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:gravity="center_horizontal"
android:text="New User Registration"
android:textColor="#fff"
android:textSize="26sp"
android:textStyle="bold"/>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/login_title"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="70dp"
android:background="#fff"
android:elevation="4dp"
android:orientation="vertical"
android:padding="20dp">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="30dp">
<TextView
android:labelFor="@id/text_email"
android:text="email"
android:fontFamily="sans-serif-light"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/text_email"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/ic_email"
android:drawablePadding="10dp"
android:singleLine="true"
android:layout_marginBottom="10dp"
android:hint="john@gmail.com"
android:inputType="textEmailAddress"/>
<TextView
android:labelFor="@id/edit_text_password"
android:text="password"
android:fontFamily="sans-serif-light"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:drawablePadding="10dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:singleLine="true"
android:id="@+id/edit_text_password"
android:drawableLeft="@drawable/ic_lock"
android:hint="Password"
android:inputType="textPassword"/>
<Button
android:id="@+id/button_register"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="22dp"
android:background="#d67601"
android:text="Sign Up"
android:textAllCaps="false"
android:textColor="#fff"
android:textSize="18sp"/>
<TextView
android:id="@+id/text_view_login"
android:layout_gravity="center_horizontal"
android:textAppearance="@style/TextAppearance.AppCompat.Headline"
android:textAlignment="center"
android:text="Already have an account.\nLogin Here"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</RelativeLayout>
<ImageButton
android:id="@+id/user_profile_photo"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_below="@+id/login_title"
android:layout_centerHorizontal="true"
android:layout_marginTop="16dp"
android:background="@drawable/user_profile_image_background"
android:elevation="4dp"
android:src="@drawable/ic_boy"/>
</RelativeLayout>
<ProgressBar
android:id="@+id/progressbar"
android:visibility="gone"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
Edit 2
Я добавил OnClickListener, чтобы увидеть, видит ли он элементы из макета, например так:
package com.antonia.mobileappproject
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_register.*
class RegisterActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_register)
text_view_login.setOnClickListener {
startActivity(Intent(this@RegisterActivity, LoginActivity::class.java))
}
}
}
Это LoginActivity, если оно помогает:
package com.antonia.mobileappproject
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_login.*
class LoginActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
text_view_register.setOnClickListener {
startActivity(Intent(this@LoginActivity, RegisterActivity::class.java))
}
}
}
Я не понимаю как, но приложение работает, я могу переключаться между действиями, когда нажимаю тексты, однако он все еще показывает «неразрешенную ссылку: activity_register»