我有这个代码
final static int TITLE_ID = 1;
final static int REVIEW_ID = 2;
现在,我想在主班级中创建一个新布局
public View createContent() {
// create linear layout for the entire view
LinearLayout layout = new LinearLayout(this);
layout.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
layout.setOrientation(LinearLayout.VERTICAL);
// create TextView for the title
TextView titleView = new TextView(this);
titleView.setId(TITLE_ID);
titleView.setTextColor(Color.GRAY);
layout.addView(titleView);
StarView sv = new StarView(this);
sv.setId(REVIEW_ID);
layout.addView(sv);
return layout;
}
但是,每当我调用TITLE_ID和REVIEW_ID时,都会给我一个错误
提供的资源标识符类型错误。
例如,当调用Resources.getString(int
id)时,您应该传递R.string.something,而不是R.drawable.something。将错误的常量传递给需要一组特定常量之一的方法。例如,在调用View#setLayoutDirection时,参数必须为android.view.View.LAYOUT_DIRECTION_LTR或android.view.View.LAYOUT_DIRECTION_RTL。
我运行此代码没有任何问题。我只是想知道为什么它给我一个错误。任何想法?
这不是编译器错误。这只是编辑器验证错误(棉绒警告),因为这不是处理ID的常用方法。
因此,如果您的应用支持API 17及更高版本,
您可以将View.generateViewId称为
titleView.setId(View.generateViewId());
和
sv.setId(View.generateViewId());
并且对于 API <17
res/values/
文件夹ids.xml
具有以下内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="titleId" type="id" />
<item name="svId" type="id" />
</resources>
然后在您的代码中
titleView.setId(R.id.titleId);
和
sv.setId(R.id.svId);
并禁用此警告(如果需要)
在Android Studio中,点击与此“错误”一致的灯泡。然后在第一个子菜单中选择“ 禁用检查” 。
在android studio中,当我想要生成签名apk时,会导致以下错误:
我刚刚尝试为我的一个项目生成已签名的apk(我以前已经这样做了),但是(可能是在更新Android Studio之后)我得到了一些支持 错误:错误:类型字符串的预期资源[ResourceType] 这是因为我使用的是Butterknife的@BindString,它被生成为类似的东西 我怎么能让工作室没有检测到这是错误?我试过在设置中搜索,但没有成功。
该项目运行良好,但当我尝试生成签名APK时,它显示了一个错误:错误:在Main活动中,预期资源类型为可绘制[ResourceType]: 当您点击按钮时,应用程序会显示图像并播放声音。问题是为什么在声音的情况下一切都好,但这里有一个错误: 我很感激任何帮助
在android studio中,当我想要生成签名apk时,会导致以下错误:
请帮助我如何在关于触觉的 行中: 消息gradle Builder中的问题: 错误:错误:类型字符串的预期资源[ResourceType]
当我定期构建我的应用程序时,它的构建没有错误。当我试图构建签名APK时,我得到一个错误... 错误:类型id为[ResourceType]的预期资源 标记的代码行是。。。 该ID在相应的布局xml中定义如下: 不知道为什么这个会出错。 谢谢 皮特