我是 Kotlin 的新手,我似乎无法解决这个问题。我得到一个 base64String 并且我需要一个图像。
我做了:
val imageBytes = string.toByteArray(). // string is the base64image
val image = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.size)
Run Code Online (Sandbox Code Playgroud)
问题是,当我尝试访问 时image,我SkAndroidCodec::NewFromStream returned null在日志中收到一条消息。我想在一个带有返回值的方法中使用它,但它一直在return image.
我如何正确转换它?
我已经检查过,字符串不为空,imageBytes 有内容,imageBytes.size 超过 60000。我在 swift 中使用的相同字符串,它无需任何修改即可转换图像,所以我相信字符串不是问题。
我正在寻找在Kotlin中创建GridView的帮助。请不要向我展示JAVA代码,因为我已经尝试改编各种JAVA示例。
因此,我创建了BaseAdapter的扩展,但是无法传递上下文。Android 文档显示了如何通过调用进行访问gridview.setAdapter(new ImageAdapter(this));。
在我的活动中将BaseAdapter分配给GridView元素
collectionView.adapter = ButtonAdapter()
Run Code Online (Sandbox Code Playgroud)
我尝试在内部传递上下文,但是输入太多参数会出错
collectionView.adapter = ButtonAdapter(baseContext())
Run Code Online (Sandbox Code Playgroud)
我的BaseAdapter扩展及其尝试初始化的方法
class ButtonAdapter : BaseAdapter() {
var con: Context? = null
//.....
fun ButtonAdapter(context: Context) {
con = context
}
}
Run Code Online (Sandbox Code Playgroud)
在尝试传递上下文并创建GridView时我做错了什么?预先感谢您的任何帮助。