首先是场景:
我有一个列表,其中每个项目都有一张联系人的照片和一些文字。我想单击图像并调出QuickContactBadge
. 徽章由以下 XML 片段定义
<QuickContactBadge android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/badge"
android:layout_alignParentBottom="true"></QuickContactBadge>
我尝试过但失败了:
- 定义一个可重复使用的徽章并在所有情况下重复使用它。列表和徽章都放入
RelativeLayout
- 为每个列表项定义一个徽章。该项目使用
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
处理程序中的代码,但徽章永远不会出现
问题:
QuickContactBadge
有任何放置逻辑吗?当我单击图像时,我需要计算徽章位置并重新调整还是内置?- 是否有可能实现我上面描述的(列表中显示的图像的徽章)以及我做错了什么(或丢失)