gpt4 book ai didi

java - "android.R.id.content"生成错误,无需更改源代码

转载 作者:太空宇宙 更新时间:2023-11-04 13:32:27 25 4
gpt4 key购买 nike

此代码来 self 参加的类(class)的练习源代码。一直到今天下午都运行良好。没有对其进行任何更改,我重新导入了它和类似的项目,并遇到了相同的新错误。

public class TourListAdapter extends ArrayAdapter<Tour> {
Context context;
List<Tour> tours;


public TourListAdapter(Context context, List<Tour> tours) {
super(context, android.R.id.content, tours);
this.context = context;
this.tours = tours;
}

我使用的是 Android Studio 1.3

android.R.id.content 曾经可以工作,现在生成错误:

Expected resource of type layout.

我搜索了 stackoverflow,似乎有一个新功能可以注释可能的不匹配。不知何故,这个 android id 整数曾经是好的,但现在不再了。我今天没有向 Android Studio 下载任何新内容。

我已经重建、清理和同步。我已退出并重新启动计算机,但没有解决。

最佳答案

这不是错误,只是警告。

正如您在问题中所指出的,现在可以对资源方法参数进行注释以指示应传递给它的资源类型。 Android Studio 根据名称检查这些参数,如果与正确的类型不匹配,则对其进行标记。

但是,您偶然发现了 Android Studio 无法处理的极端情况。正如 this question 所指出的,android.R.id.content是一个特殊的资源ID,用于在不知道 View 实际ID的情况下获取 Root View 。遗憾的是,Android SDK 开发人员将其作为 id 资源而不是 layout 资源(它可能应该被指定为 android.R.layout.content,但现在更改它为时已晚!)。

总而言之,Android Studio 希望您在此处使用 R.layout.value,但您使用的是特殊的 R.id.value。但你是对的,你的应用程序应该仍然正确构建(我的应用程序在我测试时也是如此) - 因此这是一个警告,而不是错误。

关于java - "android.R.id.content"生成错误,无需更改源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32037872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com