当我编译使用BindingAdapter
的项目时,Android Studio总是显示很多警告并跳入源代码文件,我编写的代码为BindingAdapter
。我该如何解决它,我从不想要显示它,当我编译和也我不想删除名称空间的应用程序或其他,任何人都可以帮助我。谢谢!!!
该警告是以下:
示例源代码: Android Studio有关应用程序名称空间的警告
0
A
回答
0
如@迈克尔Spitsin在注释中指出,只是删除“应用程序:”命名空间从注释。您可以在布局XML中保留“app:”命名空间。命名空间将被内部删除,除非它是android:
;所有其他名称空间都是相同的。
该警告用于通知您名称空间对注释没有任何影响。因此,例如,对于@BindingAdapter("app:src")
和@BindingAdapter("foo:src")
,您不能使用不同的方法 - 在将该名称空间用作该注释实现中的键之前,该名称空间已被删除。唯一的例外是android
命名空间;您也可以有@BindingAdapter("android:src")
以及@BindingAdapter("app:src")
。
如果您查看实现@BindingAdapter
注释的源代码,您将看到命名空间被删除,这是警告的原因。举例来说,在本文节选自android.databinding.tool.store.SetterStore.addBindingAdapter
:
public void addBindingAdapter(ProcessingEnvironment processingEnv, String attribute,
ExecutableElement bindingMethod, boolean takesComponent) {
attribute = stripNamespace(attribute);
...你可以看到,命名空间被剥离,像这样:
private static String stripNamespace(String attribute) {
if (!attribute.startsWith("android:")) {
int colon = attribute.indexOf(':');
if (colon >= 0) {
attribute = attribute.substring(colon + 1);
}
}
return attribute;
}
这样做是因为,绑定适配器需要跨越工作无论在特定XML文件中用于名称空间的字符串是什么,该项目中的任何和所有源文件。
相关问题
- 1. Android应用程序警告
- 2. Android Studio“应用程序具有相同的程序包名称”
- 3. 应用程序名称空间丢失
- 4. 关于上传时iPhone应用程序名称的空间
- 5. facebook应用程序名称空间和facebook页面名称
- 6. Android应用程序中的UnknownHostException警告
- 7. 警告:页面/welcome.xhtml声明命名空间http://primefaces.prime.org/ui但没有与名称空间关联的TagLibrary
- 8. ITask :: SetApplicationName具有空间问题的应用程序名称
- 9. Android应用程序名称
- 10. 如何解决Visual Studio的无法识别的名称空间警告?
- 11. 任务栏中的空应用程序名称空间
- 12. Closure编译器使用名称空间枚举发出警告
- 13. Spring应用程序有Cglib2AopProxy警告
- 14. 警告中引用名称
- 15. 如何将缺少的名称空间警告视为错误?
- 16. 定义XML标签/名称空间?无法识别的警告
- 17. Xamarin - android的空白应用程序停止启动,没有错误或警告
- 18. 程序集有多个名称空间或由单个名称空间组成
- 19. 在WP8应用程序名称空间'System.Net'中不存在类型或名称空间名称'Http'
- 20. 在android studio中更改应用程序的公司名称
- 21. 如何删除android studio中的应用程序名称
- 22. 调试代码名称Android Studio上的一个应用程序
- 23. 仿真过程中的冗余警告和应用程序崩溃(Android Studio)(Java)
- 24. 根名称空间和程序集名称之间的区别
- 25. 获取/更改我的应用程序的名称空间?
- 26. 更改部署的clickonce应用程序的名称空间
- 27. 创建应用程序名称和模块名称之间
- 28. 设置Android应用程序的名称
- 29. 从应用程序名称中的Android
- 30. 更改Android应用程序的名称
根据[这个答案](http://stackoverflow.com/questions/35313466/android-databinding-custom-binding-adapter-warning)你只需要删除“app:”命名空间。 –
我以前就知道这一点,但我不想删除这个应用程序命名空间。其他同事的android studio没有显示出这样的问题。还有其他方法可以解决这个问题。 –