【发布时间】:2019-07-16 12:41:03
【问题描述】:
我面临的问题是约束布局完全没有响应。未显示边距,onCLick 处理程序不起作用。下面我附上了2张图片。看看这个。我哪里错了?需要更多代码..?我可以更新,请告诉我。
-
行布局类
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <data> <variable name="lead" type="com.goplannr.model.LeadPojo" /> <variable name="eventHandler" type="com.goplannr.fragment.contact.adapter.LeadClientRVAdapter" /> </data> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="8dp" android:background="@color/colorControlActivated" android:onClick="@{(v) -> eventHandler.onRowItemClick(v)}"> .... got 4 items inside </android.support.constraint.ConstraintLayout> </layout> -
RecyclerViewAdapter
class LeadClientRVAdapter (private val leadDetailsList:ArrayList<LeadPojo>) : RecyclerView.Adapter<LeadClientRVAdapter.MyViewHolder>() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder { val inflater = LayoutInflater.from(parent.context) val binding = RowLeadsClientsBinding.inflate(inflater) return MyViewHolder(binding) } override fun getItemCount(): Int = leadDetailsList.size override fun onBindViewHolder(holder: MyViewHolder, position: Int) = holder.bind(leadDetailsList[position]) inner class MyViewHolder(private val binding: RowLeadsClientsBinding): RecyclerView.ViewHolder(binding.root){ fun bind(item : LeadPojo){ binding.lead = item binding.executePendingBindings() }} fun onRowItemClick(v: View){ v.findNavController().navigate(R.id.action_contacts_fragment_to_lead_details_fragment) }}
使用数据绑定 - 没有 -
另外一点——我在 Gradle 中只有这个依赖——> dataBinding { 启用 true }
没有别的
【问题讨论】:
-
你的照片不是每个人都能看到的......它要求谷歌帐户。用 imgur 添加图片..
-
@ADM 现在看看
标签: android data-binding kotlin android-recyclerview android-databinding