我正在嘗試訪問我的 Imageview 所在的活動,因此我可以使用 SVG 型別的影像的 URL 并使用 GlideToVectorYou 庫將其顯示給用戶。
GlideToVectorYou.justLoadImage(activity, IMAGE_URI, targetImageView)
但是當我嘗試使用 R.layout 訪問活動時。activityname,出現語法錯誤。這是我正在使用的代碼
Uri myurl = Uri.parse(match.getFlag());
GlideToVectorYou.justLoadImage(R.layout.item_basketball, myurl, iv_location);
謝謝!
uj5u.com熱心網友回復:
R.layout.item_basketball只是您的活動布局的整數 ID - 不是活動實體本身。如果您想要配接器中的活動,則需要在構建配接器并將其保存為類成員(下面的示例)時將其傳入,或者檢查您的配接器基類是否已經可以通過getActivity()或getContext()或類似方法提供它。
class MyAdapter(private val activity: Activity) : BaseAdapter() {
fun someMethod() {
// then you can access "activity" in your adapter methods
GlideToVectorYou.justLoadImage(activity, IMAGE_URI, targetImageView)
}
}
當你在你的活動中創建它時,你會做這樣的事情
val adapter = MyAdapter(this)
uj5u.com熱心網友回復:
您需要一個活動參考。R.layout.somethinghere 是布局參考。
在您的配接器建構式上添加一個活動引數并在配接器內使用它。
如果您從活動中呼叫配接器建構式,只需將“this”作為引數傳遞。如果從片段呼叫,則使用“requireActivity”(如果使用 kotlin)或類似方法(例如 getActivity)(如果使用 Java)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/386349.html
上一篇:Kotlin中具體化的行內函式仍然導致“is”檢查的編譯器錯誤
下一篇:如果為應用授予START_ACTIVITIES_FROM_BACKGROUND,則從前臺服務啟動相機(Android11 )
