저는 ListView가 각 행에 대해 사용자 정의 된 선형 레이아웃 요소를 보유하는 활동이 있습니다. 이벤트가 시작되지 않습니다이 설정에서내 버튼 OnClick 이벤트가 실행되지 않는 이유는 무엇입니까?
((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);
}
});
:
<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>
그런 다음 자바, 나는이 코드를 가지고 : 행 중 하나는 다음과 같이 정의 된 버튼이 있습니다.
또한 나는 인터페이스를 구현하여 시도했다 :
여전히
@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
이것은 클릭 할 때의 이벤트 리스너를 코딩하는 다른 방법입니다. 실제로 이것은 문제를 피하면서 원래의 문제를 해결하지 못하게합니다. –