我使用自定义适配器在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?将数据绑定到视图时,应该在适配器中创建它.您的代码错误,因为每次用户单击列表行时它都会初始化您的视图.