我使用自定义适配器在listview的行中有三个textview,并且在单击该行时,我想执行所选文本视图的click事件.
下面是我点击事件的示例代码.在第一次单击时,将设置侦听器,并且仅在第二次单击时发生实际的单击事件,我想在第一次单击时找到它.可能吗?
listView.setonItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapter,View view,int pos,long id) {
final Order orderBooking = (Order)adapter.getItemAtPosition(pos);
// SKU listener
final TextView tvSkuId = (TextView) view.findViewById(orderBooking.getSelectedSkuId());
tvSkuId.setonClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
onSkuClickListener(view,orderBooking);
}
});
// SO listener
final TextView tvSoId = (TextView) view.findViewById(orderBooking.getSelectedSoId());
tvSoId.setonClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
onSoClickListener(view,orderBooking);
}
});
// OR listener
final TextView txtOrId = (TextView) view.findViewById(orderBooking.getSelectedOrId());
//onorClickListener(view,orderBooking);
txtOrId.setonClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
onorClickListener(view,orderBooking);
}
});
}
});
解决方法
为什么不在初始化时设置那些clickListeners?将数据绑定到视图时,应该在适配器中创建它.您的代码错误,因为每次用户单击列表行时它都会初始化您的视图.