当我在可扩展列表中扩展子布局时,每次都会形成不同的格式。我正在使用具有权重属性的线性布局,所以我不认为这应该发生
getChildView()
中没有额外的代码: -
@Override
public View getChildView(int groupPosition, int childPosition, boolean b, View convertView, ViewGroup viewGroup) {
LayoutInflater cInflator = context.getLayoutInflater();
if (convertView == null) {
convertView = cInflator.inflate(R.layout.childrow, null);
}
return convertView;
}
childrow.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_headings"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/list_headings_gradient"
android:padding="10dp" >
<TextView
android:id="@+id/user_summary"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="40dp"
android:layout_weight="40"
android:textColor="@color/manage_users_heading_grey"
android:textSize="15sp"
android:textStyle="bold" />
<View
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_weight="30" />
<TextView
android:id="@+id/block"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="5"
android:gravity="center"
android:maxWidth="120dp"
android:text="BLOCK"
android:textColor="@color/red"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/activities"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dp"
android:layout_weight="30"
android:gravity="center"
android:text="RESET PASSWORD"
android:textColor="@color/manage_users_reset_pass"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
图片1: - 正确扩展布局=首次展开: -
图片2: - 扩展布局不正确=第二次展开: -
答案 0 :(得分:1)
在您使用layout_width="wrap_content"
时不要使用layout_weight
。请改用layout_width="0dp"
。
另外,你应该夸大你的布局:
convertView = cInflator.inflate(R.layout.childrow, viewGroup, false);