我只是尝试在ImageView中的片段中设置位图:
imageLeft.setImageBitmap(duelbildBitmap)
并为Unresolved reference
获得setImageBitmap
为什么?它可以在活动中起作用
预先感谢
答案 0 :(得分:0)
您不能仅使用R.id.imageView
,因为它是 integer
而不是ImageView
对象。因此无法在setImageBitmap()
上找到Integer
方法。
您有两种方法
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
}
}
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
,则必须应用插件。{p>