我正在尝试为GroupAdapter RecyclerView内的按钮设置OnClickListener
我的代码:
class settings : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
super.onCreateView(inflater, container, savedInstanceState)
val view = inflater.inflate(R.layout.fragment_settings, container, false)
val adapter = GroupAdapter<ViewHolder>()
adapter.add(SettingTitle("Permissions"))
adapter.add(SettingCardCarInfo())
//FAILED METHOD #1
view.btn_update_settings.setOnClickListener {
Log.d("tahoma","")
Toast.makeText(activity, "Your settings were updated", Toast.LENGTH_SHORT).show()
}
//FAILED METHOD #2
adapter.setOnItemClickListener { v, settings_end ->
Log.d("tahoma",v.id.toString())
}
view.settingsRecycler.adapter = adapter
return view
}}
class SettingEnd : Item<ViewHolder>() {
override fun getLayout(): Int {
return R.layout.settings_end
}
override fun bind(viewHolder: ViewHolder, position: Int) {}
1-只需在按钮上调用onclick侦听器,就会给我一个空调用错误
2-使用适配器的onclick侦听器确实捕获了单击,但是忽略了可单击项的任何单击(因此对按钮没有好处)>
3-与#1相同,但通过“ OnStart”方法进行-由于该方法内部无法调用“ view”,因此无效。
4-通过Viewholder的OnBind方法调用onclick侦听器-确实起作用(我能够检测到按钮的点击),但是无法从同一适配器中的其他Viewholder中访问所需的数据,其中包含我需要的edittext去。
此时将提供任何帮助,以Kotlin syntex编写的解决方案将非常有用
我正在尝试为GroupAdapter RecyclerView内的按钮设置OnClickListener,我的代码:类设置:Fragment(){重写fun onCreateView(inflater:LayoutInflater,...