我有一個活動,其中ListView爲每一行保存自定義線性佈局元素。一個行具有被定義爲一個按鈕:爲什麼我的按鈕OnClick事件無法觸發?
<Button
android:text="Pick a contact"
android:id="@+id/btnPickContact"
android:layout_width="wrap_content"
android:gravity="center_vertical"
android:layout_height="wrap_content"></Button>
然後在Java中,我有這樣的代碼:
((Button) row.findViewById(R.id.btnPickContact)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
intent.putExtra(EXTRA_ONLINE_ID, (String)v.getTag(TAG_ONLINE_ID));
act.startActivityForResult(intent, PICK_CONTACT);
}
});
在此設置的情況下無法啓動。
而且我已經實現接口的嘗試:
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
intent.putExtra(EXTRA_ONLINE_ID, (String)v.getTag(TAG_ONLINE_ID));
startActivityForResult(intent, PICK_CONTACT);
}
仍然沒有運氣,則不會觸發事件。
怎麼辦?
這是行不通的,但爲什麼必須這樣做? – Pentium10 2010-05-18 17:39:21
這是用於編碼點擊事件監聽器的替代方法。實際上,這可以避免這個問題,解決了原來的問題。 – 2010-05-18 21:15:11