當我嘗試使用點運算子在片段 kotlin 檔案方法中呼叫類的函式時,它會給出錯誤。
嘗試將 ImageGallery 類的 listOfImages 方法呼叫為,
dataList=ImageGallery.listOfImages(context)
但這僅給出錯誤@listOfImages 字樣。
錯誤:未解決的參考:listOfImages
在片段中,在 loadImaged() 方法之外:
var dataList:ArrayList<String> = ArrayList()
從庫中獲取代碼的類代碼:
public class ImageGallery {
public fun listOfImages(context: Context) : ArrayList<String> {
var imageList: ArrayList<String> = ArrayList()
var projection = arrayOf(MediaStore.MediaColumns.DATA,MediaStore.Images.Media.BUCKET_DISPLAY_NAME)
var orderBy:String=MediaStore.Video.Media.DATE_TAKEN
val imagecursor: Cursor? = context.contentResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null,
null, orderBy "DESC"
)
for (i in 0 until imagecursor!!.count) {
imagecursor.moveToPosition(i)
val dataColumnIndex =
imagecursor.getColumnIndex(MediaStore.Images.Media.DATA)
imageList.add(imagecursor.getString(dataColumnIndex))
}
return imageList
}
}
在片段活動中,
加載函式:
private fun loadImage(){
recyclerView.setHasFixedSize(true)
recyclerView.layoutManager=GridLayoutManager(context,3)
dataList=ImageGallery.listOfImages(context)
adapterr= context?.let { CustomAdapter(it,dataList) }
recyclerView.adapter=adapterr
galleryNumber?.text=("Photos (" dataList.size ")")
}
uj5u.com熱心網友回復:
您需要創建一個實體ImageGallery才能使用它。換句話說,使用:
ImageGallery().listOfImages(context)
代替
ImageGallery.listOfImages(context)
或者,將函式放在伴隨物件中,ImageGallery其作業方式類似于 Java 中的靜態函式,如
public class ImageGallery {
companion object {
public fun listOfImages(context: Context) : ArrayList<String> {
var imageList: ArrayList<String> = ArrayList()
var projection = arrayOf(MediaStore.MediaColumns.DATA,MediaStore.Images.Media.BUCKET_DISPLAY_NAME)
var orderBy:String=MediaStore.Video.Media.DATE_TAKEN
val imagecursor: Cursor? = context.contentResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null,
null, orderBy "DESC"
)
for (i in 0 until imagecursor!!.count) {
imagecursor.moveToPosition(i)
val dataColumnIndex =
imagecursor.getColumnIndex(MediaStore.Images.Media.DATA)
imageList.add(imagecursor.getString(dataColumnIndex))
}
return imageList
}
}
}
這允許您使用
ImageGallery.listOfImages(context)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/445653.html
