我试图取得类似的结果:
联系人可能有也可能没有电子邮件地址或其他个人资料信息。是否有可能通过XML实现大部分内容?或者是否所有这些都需要通过Java完成?
以下是我认为可以解决的伪代码:
if(contact.hasPhoneNumber)
联系中的foreach号码
膨胀r.layout.contact_number
settext phonenumber textview
为布局添加视图
有更聪明的方法吗?
答案 0 :(得分:0)
通过以下方式解决了这个问题:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/contactContent"
android:layout_below="@+id/profile_background">
<LinearLayout android:orientation="vertical" android:id="@+id/c_detail_content_main" android:paddingBottom="50.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content">
<LinearLayout android:orientation="vertical" android:visibility="gone" android:id="@+id/c_detail_birthday_layout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="20.0dip">
</LinearLayout
</ScrollView>
以下代码:
if (this.contact.hasPhoneNumber())
{
LinearLayout phoneNumberContent = (LinearLayout) view.findViewById(R.id.c_detail_phone_layout);
phoneNumberContent.setVisibility(View.VISIBLE);
for (PhoneNumber number : this.contact.getPhoneNumbers())
{
LinearLayout tempNumberContent = new LinearLayout(this.getActivity().getApplicationContext());
TextView type = new TextView(this.getActivity().getApplicationContext());
TextView phoneNo = new TextView(this.getActivity().getApplicationContext());
type.setWidth(LayoutTools.getDPMeasurement(this.getActivity(), 85));
phoneNo.setText(number.getNumber());
tempNumberContent.addView(type);
tempNumberContent.addView(phoneNo);
phoneNumberContent.addView(tempNumberContent);
}
}