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

我只是尝试在片段中的 ImageView 中设置位图:

imageLeft.setImageBitmap(duelbildBitmap)

并获得Unresolved referencesetImageBitmap

为什么?它在活动中起作用

提前致谢


湖上湖
浏览 371回答 1
1回答

慕桂英546537

你不能只使用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.syntheticclass 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文件的末尾应用,则必须应用插件。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java