我有三个textview使用自定义适配器的列表视图中的一行,并单击该行时,我想执行所选文本视图的单击事件。在listview的setOnItemClickListener上设置项目单击事件Android
下面是我点击事件的示例代码。在第一次点击时,听众被设置,只有第二次点击才会发生实际的点击事件,我想在第一次点击时发现它。可能吗?
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);
}
});
}
});
是的,你是对的,我这样做,因为我创建我的适配器在一个单独的类,并且无法更新活动视图,现在我添加适配器作为子类,它如果我将侦听器设置在适配器本身中,则完美工作。非常感谢。 – Swarna 2011-05-12 10:24:54
不客气,很高兴我的回答对你有帮助。 – Egor 2011-05-12 11:12:39