Ошибка приложения Android Studio Firebase?

#java #android #xml

#java #Android #xml

Вопрос:

Следуя руководству по разработке Android, я столкнулся с ошибками, имея пару ошибок при попытке создать переменные EditTextTitle и EditTextDescription. Также, когда я пытаюсь передать параметр (View v) в методе saveNote, появляется та же ошибка, ниже приведен мой XML-файл и основной код Java:

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

    <EditText
        android:id="@ id/edit_text_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Title"
        android:inputType="text"/>

    <EditText
        android:id="@ id/edit_text_description"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Description"
        android:inputType="text"/>

    <button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Save"
        android:onClick="saveNote"/>


</LinearLayout>
  

MainActivity:

 package com.example.firestoreapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

import com.google.firebase.firestore.FirebaseFirestore;

public class MainActivity extends AppCompatActivity {
    //constants, variables that cannot change essentially
    //logt shortcut
    private static final String TAG = "MainActivity";
    //title
    //description
    private static final String KEY_TITLE = "title";
    private static final String KEY_DESCRIPTION = "description";

    //idk why this is not working
    private EditText editTextTitle;
    private EditText editTextDescription;

    //reference for firebase database
    private FirebaseFirestore db = FirebaseFirestore.getInstance();


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //
        editTextTitle = findViewById(R.id.edit_text_title);
        editTextDescription = findViewById(R.id.edit_text_description);
    }

    public void saveNote (View v) {
        String title = editTextTitle.getText().toString();
        String description = editTextDescription.getText().toString();
    }

}
  

Ответ №1:

button Тег элемента в вашем макете должен быть изменен Button следующим образом.

 <Button
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Save"
    android:onClick="saveNote"/>
  

Комментарии:

1. Исправлено, но проблема все еще сохраняется, я получаю не удается найти класс символов EditText.

2. Возможно, вам придется снова очистить и собрать проект.

3. Попробовал это, очистите проект, затем создайте проект, но переменная EditText по-прежнему красная, компилятор не смог найти символ. Не уверен, что делать дальше.

4. @Jaber2599 ты это имел в виду, EditText красный цвет?

5. Да, не уверен, почему он красный, когда я нажимаю alt enter, он исчезает, но я понятия не имею, что это сделало? Человек, выполняющий учебник, похоже, пишет этот код и не становится красным? Что я делаю не так?