kotlin 在 Fragment 中打开新的 Activity
kotlin opening new Activity inside of a Fragment
倒数第二个右大括号出现错误。
错误:具有块主体的函数中需要 'return' 表达式 ('{...}')
我正在尝试从我的碎片(仪表板)中的 ImageButton 打开 Activity (TM)。
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)
}
}
}
onCreateView 函数 return 创建一个视图。您已经膨胀了 View 对象,只是 return 它。
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val view = inflater.inflate(R.layout.fragment_dashboard, container, false)
..code..
return view
无论如何,我强烈建议您在 onViewCreated()
中初始化 clickListeners 和任何其他 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)
}
}
}
倒数第二个右大括号出现错误。
错误:具有块主体的函数中需要 'return' 表达式 ('{...}')
我正在尝试从我的碎片(仪表板)中的 ImageButton 打开 Activity (TM)。
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)
}
}
}
onCreateView 函数 return 创建一个视图。您已经膨胀了 View 对象,只是 return 它。
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
val view = inflater.inflate(R.layout.fragment_dashboard, container, false)
..code..
return view
无论如何,我强烈建议您在 onViewCreated()
中初始化 clickListeners 和任何其他 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)
}
}
}