为了账号安全,请及时绑定邮箱和手机立即绑定

Android kotlin - 片段中未解析的 setImageBitmap 参考

Android kotlin - 片段中未解析的 setImageBitmap 参考

湖上湖 2021-11-24 16:16:17
我只是尝试在片段中的 ImageView 中设置位图:imageLeft.setImageBitmap(duelbildBitmap)并获得Unresolved reference了setImageBitmap为什么?它在活动中起作用提前致谢
查看完整描述

1 回答

?
慕桂英546537

TA贡献1848条经验 获得超10个赞

你不能只使用R.id.imageView,因为那是integerid 不是ImageView对象。所以它setImageBitmap()在 上找不到方法Integer。


你有两种方式


1:通过使用 findViewById()

class GalleryFragment : Fragment() {

    private lateinit var viewOfLayout: View

    private lateinit var imageView: ImageView


    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

        viewOfLayout = inflater.inflate(R.layout.fragment, container, false)

        return viewOfLayout

    }


    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {

        super.onViewCreated(view, savedInstanceState)

        imageView = view.findViewById(R.id.imageView)

        imageView.setImageBitmap(bitmap) // set bitmap anywhere

    }

}

2:通过使用 kotlinx.android.synthetic

class GalleryFragment : Fragment() {

    private lateinit var viewOfLayout: View

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {

        viewOfLayout = inflater.inflate(R.layout.fragment, container, false)

        viewOfLayout.imageView.setImageBitmap(bitmap) // set bitmap anywhere

        return viewOfLayout

    }

}

如果在这种情况下没有自动导入 imageView,则手动导入。


import kotlinx.android.synthetic.main.fragment.view.*

在第二种方法中,apply plugin: 'kotlin-android-extensions'如果未在应用程序级别build.gradle文件的末尾应用,则必须应用插件。


查看完整回答
反对 回复 2021-11-24
  • 1 回答
  • 0 关注
  • 370 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信