我有一个活动,其中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