java - 编译应用程序时Android Studio上的Android资源编译错误
问题描述
我在生成的 ID 的 XML 文件中收到编译错误。在我将它们设为资源之前,btnAdd、etItem、rvItems 都是红色的。我添加了 Button、EditText、RecyclerView 的值,但我不确定这是否是正确的举动,但我做到了,它奏效了。文字不再是红色了,但我得到了一个错误。在做了我认为可行的改变之后,它没有帮助。错误似乎在小 xml 文件中。原来问题是btnAdd、etItem、rvItems都是红色的,不明白为什么。它建议将它们添加为资源,所以我做了......
package com.example.simpletodo;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
List<String> items;
Button btnAdd;
EditText etItem;
RecyclerView rvItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnAdd = findViewById(R.id.btnAdd);
etItem = findViewById(R.id.etItem);
rvItems = findViewById(R.id.rvItems);
etItem.setText("I'm doing this in Java.");
items = new ArrayList<>();
items.add("Buy Milk");
items.add("tomatoes");
items.add("potatoes");
}
}
这是问题所在的xml文件。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="btnAdd" type="id">Button</item>
<item name="etItem" type="id">EditText</item>>
<item name="rvItems" type="id">RecyclerView</item>
</resources>
这是我创建的。btnadd、etItem 和 rvItems 是红色的,所以我将它们添加为资源并生成了上面的 xml 文件。
这是我的活动 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"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginEnd="1dp"
android:layout_marginRight="2dp"
android:layout_marginBottom="-2dp"
android:text="Add" />
<EditText
android:id="@+id/textView"
android:layout_width="369dp"
android:layout_height="39dp"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="0dp"
android:layout_marginEnd="93dp"
android:layout_marginBottom="0dp"
android:hint="Add in item here"
android:textAlignment="textStart" />
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="512dp" />
</RelativeLayout>
这是我第一次做这个项目,所以请帮忙
这是制作的xml。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="btnAdd" type="id">Button</item>
<item name="etItem" type="id">EditText</item>>
<item name="rvItems" type="id">RecyclerView</item>
</resources>
这是我第一次参与这个项目,大多数问题都没有帮助我解决我的问题。请帮忙!我尝试清理和重建项目,当我按下选项输入时,我将它们添加为资源,但给了我一个编译错误。请帮忙!
解决方案
尝试使用@id 引用
<Button
android:id="@id/btnAdd" />
<EditText
android:id="@id/etItem" />
<androidx.recyclerview.widget.RecyclerView
android:id="@id/rvItems" />
推荐阅读
- haskell - 如何为这个递归函数定义正确的边定义?
- node.js - AWS Lambda 节点错误记录:是否需要单独记录堆栈?
- time - date-fns MMMM 格式在俄罗斯语言环境中被破坏
- spring-boot - 将war文件多层打包成docker镜像
- flutter - 快照中的数据为空
- awk - Grep 文件中符合两个条件的行
- java - 无法让我的 ComboBox 和 Button 工作。用按钮实现框的问题
- python-3.x - Selenium Wrapper 从下拉列表中随机选择一个元素(提供了下拉列表的位置(xpath,css,...))?
- javascript - React UseState - 使用先前的状态与不使用先前的状态
- php - 如何从sql数据库中获取多个字段并将它们显示到不同的html语句中