當我編譯使用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沒有顯示出這樣的問題。還有其他方法可以解決這個問題。 –