1 问题
用BaseQuickAdapter设置子view点击事件
unInstalledAdapter!!.setOnItemChildClickListener(object: BaseQuickAdapter.OnItemChildClickListener {
override fun onItemChildClick(adapter: BaseQuickAdapter<*, *>?, view: View?, position: Int) {
var info = adapter?.getItem(position)
Log.i(TAG, "unInstalledAdapter info is:" + info.toString())
when(view?.id) {
R.id.installButton -> {Log.i(TAG, "unInstalledAdapter R.id.installButto has happen") }
R.id.deleteButton -> {Log.i(TAG, "unInstalledAdapter R.id.deleteButton has happen") }
}
}
})
死人也没反应
2 解决办法
在适配器里面要记得注册子view的监听事件
helper.addOnClickListener(R.id.installButton);
@Override
protected void convert(BaseViewHolder helper, FluterApkInfoItem item) {
helper.setText(R.id.tvAppName, item.getAppName()).setText(R.id.tvAppSize, item.getSizeStr());
helper.addOnClickListener(R.id.installButton);
helper.addOnClickListener(R.id.deleteButton);
}
我们常用的Item点击事件代码如下
adapter!!.setOnItemClickListener(object : BaseQuickAdapter.OnItemClickListener {
override fun onItemClick(adapter: BaseQuickAdapter<*, *>?, view: View?, position: Int) {
Log.i(TAG, "setOnItemClickListener start position is:" + position)
var searchBean = searchResultList.get(position)
// })
}
});