getExternalFilesDir (null) не работает в onBindViewHolder - PullRequest
0 голосов
/ 10 февраля 2020

getExternalFilesDir(null) отлично работает как в классе Activity, так и во фрагменте, но не работает в моем onBindViewHolder в моем адаптере. Ниже приведен код, который я реализовал в своем адаптере.

override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
    //IMAGE ADAPTER
    if (holder is OptionsAdapter.ImageViewHolder) {
        val imageUrl = optionsList!![position].image!!
        if (Util.isInternetAvailable()) {
            BindingAdapters.setImageUrlAnswer(
                holder.itemView.image_view,imageUrl
            )
        } else {
            val imageUrl = optionsList!![position].image!!

            //val link1 throws a null 
            val link1 = context?.applicationContext?.getExternalFilesDir(null)?.toString() +
                    File.separator + "images" + File.separator + imageUrl

            BindingAdapters.setImageUrl(holder.itemView.image_view, Uri.parse(link1).toString())

            //val link2 is working perfectly
            val link2 =
                Environment.getExternalStorageDirectory().toString() + "/Android/data/com.tanacom.app/files/images/" + imageUrl

            BindingAdapters.setImageUrl(holder.itemView.image_view, Uri.parse(link2).toString())
        }
    }  
}

Environment.getExternalStorageDirectory() отлично работает в моем адаптере, но хотел бы заменить его на getExternalFilesDir(null). Любая помощь приветствуется. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...