문제

먼저 시나리오:

각 항목에 연락처 사진과 일부 텍스트가 있는 목록이 있습니다.이미지를 클릭해서 불러오고 싶어요 QuickContactBadge.배지는 다음 XML 스니펫으로 정의됩니다.

<QuickContactBadge android:layout_height="wrap_content"
   android:layout_width="wrap_content" android:id="@+id/badge" 
   android:layout_alignParentBottom="true"></QuickContactBadge>

내가 시도했지만 실패한 것:

  1. 재사용 가능한 배지 하나를 정의하고 모든 경우에 재사용하세요.목록과 배지는 모두 RelativeLayout
  2. 각 목록 항목당 하나의 배지를 정의하십시오.아이템이 사용하는 RelativeLayout

나는 무엇을 볼 수 있습니까?

기본적으로 아무것도 없습니다.코드는 유효한 배지 인스턴스를 얻은 후 다음 논리를 적용합니다.

    contactPhoto.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(final View v) {
            Log.d(TAG, "Image click");
            if (badge != null) {
                badge.assignContactFromEmail("johndoe@gmail.com", true);
                badge.setMode(ContactsContract.QuickContact.MODE_SMALL);
                badge.bringToFront();
            }
        }
    });

클릭하면 코드를 단계별로 실행할 수 있습니다. onClick 핸들러는 아직 배지가 나타나지 않습니다.

질문:

  1. 하다 QuickContactBadge 배치 논리가 있나요?이미지를 클릭하면 배지 위치를 계산하고 다시 조정해야 합니까, 아니면 내장되어 있습니까?
  2. 위에서 설명한 것(목록에 표시된 이미지에 대한 배지)과 내가 잘못하고 있는 것(또는 누락된 것)을 달성하는 것이 가능합니까?
도움이 되었습니까?

해결책

중단하세요!중단하세요!

기본적으로 뱃지가 무엇인지, 어떻게 사용하는지 완전히 오해하고 있었습니다.내가 하려는 것은 이미지 클릭을 감지하고 배지를 호출하는 것입니다.내가해야 할 일은 단순히 사용하는 것뿐이므로 이것은 근본적으로 잘못된 것입니다. QuickContactBadge 대신에 ImageView 내 코드에서.항목의 이미지를 배지로 교체한 후 XML 마법이 자동으로 나타났습니다.

- 코드를 사용하여 배지를 팝업하는 것이 가능합니다. 이 기사 어떻게 해야 하는지에 대해

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top