【发布时间】:2021-11-21 08:41:24
【问题描述】:
我必须在片段中访问我的界面,但我该怎么做呢?另外,当我调用名为getRandomComputerDetails的函数时,我必须将接口作为参数传递
界面:
interface ResultListener {
fun onSuccess(any: Any?)
fun onError(e: Throwable?)
}
片段:
class HomeFragment : Fragment() {
private lateinit var binding: FragmentHomeBinding
private var _binding: FragmentHomeBinding? = null
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = FragmentHomeBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// API CALL
binding.buttonHomeFragmentApiCall.setOnClickListener {
this.context?.let { getRandomComputerDetails(it, /* I HAVE TO PASS MY INTERFACE HERE*/) }
}
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
}
【问题讨论】:
-
你在哪里实现这个接口?如果您只想知道
getRandomComputerDetails的结果,那么在onClickListener中创建新的接口实例 -
在片段外的单独文件夹中。我想知道如何正确访问存储在我的界面中的结果。如果你知道,你能解释一下我该怎么做吗?谢谢
-
请不要说“单独的文件夹”正在实现您的界面,这表明您缺乏关于 Kotlin/Java 编码的基本知识...用本地匿名实现发布答案
标签: android kotlin android-fragments interface