我有三個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