我在最后一个紧固支撑的第二个上有个错误。
错误:带块体({.})的函数所需的“返回”表达式
我试图从碎片中的ImageButton (仪表板)中打开一个活动(TMs)。
class Dashboard : Fragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
// Inflate the layout for this fragment
val view = inflater.inflate(R.layout.fragment_dashboard, container, false)
view.findViewById<ImageButton>(R.id.card1).setOnClickListener {
val card1 = Intent(activity, TMs::class.java)
activity?.startActivity(card1)
}
}}
发布于 2022-04-08 09:24:37
函数onCreateView确实返回一个视图。您已经膨胀了View对象,只需返回它。
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val view = inflater.inflate(R.layout.fragment_dashboard, container, false)
..code..
return view无论如何,我强烈建议您在onViewCreated()中插入onViewCreated()和任何其他UI逻辑。因此,我们按照步骤创建该片段,首先在onCreateView():View上“膨胀视图”,然后创建它之后,我们可以添加UI逻辑(作为侦听器)。
看起来是这样的:
class Dashboard : Fragment() {
private lateinit var _view: View
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
_view = inflater.inflate(R.layout.fragment_dashboard, container, false)
return _view
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
view.findViewById<ImageButton>(R.id.card1).setOnClickListener {
val card1 = Intent(activity, TMs::class.java)
activity?.startActivity(card1)
}
}
}https://stackoverflow.com/questions/71794429
复制相似问题