#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, он исчезает, но я понятия не имею, что это сделало? Человек, выполняющий учебник, похоже, пишет этот код и не становится красным? Что я делаю не так?