我在SO中看过类似的问题,但它没有解决我的问题。所以我把它作为一个新问题发布。
我在滚动视图中有自定义可展开列表视图,并始终设置 isExpanded true 。这个可扩展的listview(ExpandableHeightListView 在下面的布局xml)适配器有一个自定义edittext ,当我点击edittext时,它无限调用自定义ExpandableListview的 onMeasure 。仅在具有 Lollipop及以上的设备中才会发生这种情况。
任何人都可以指出我做错了什么。是的,我知道在滚动视图中使用 listview不是一个好方法,但它是一个旧的实现,由于某些功能要求而无法更改。
这是我的布局:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/goods_receipt_scrollview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/abstract_blue_land">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:focusable="false"
android:focusableInTouchMode="true"
android:orientation="vertical"
android:padding="@dimen/page_padding">
<TextView
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:background="@android:color/transparent" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cell_header_background"
android:padding="@dimen/cell_padding"
android:text="@string/purchase_order_details"
android:textAppearance="@style/section_header" />
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cell_content_background"
android:columnCount="2"
android:padding="@dimen/cell_padding"
android:rowCount="2"
android:stretchColumns="*">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_gravity="left"
android:layout_row="0"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/purchase_order" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=": " />
<TextView
android:id="@+id/pur_ord"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_gravity="right"
android:layout_row="0"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/type" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=": " />
<TextView
android:id="@+id/doc_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_gravity="left"
android:layout_row="1"
android:orientation="horizontal"
android:paddingTop="3dip">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/created_on" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=": " />
<TextView
android:id="@+id/created_on"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_gravity="right"
android:layout_row="1"
android:orientation="horizontal"
android:paddingTop="3dip">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/created_by" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=": " />
<TextView
android:id="@+id/created_by"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold" />
</LinearLayout>
</GridLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dip"
android:layout_marginTop="10dip"
android:background="@color/transparent_highlight"
android:orientation="horizontal"
android:padding="@dimen/input_section_padding">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/items"
android:textAppearance="@style/section_header" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" " />
<TextView
android:id="@+id/items_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="@style/section_header" />
</LinearLayout>
<LinearLayout
android:id="@+id/list_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cell_header_background"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="5"
android:gravity="center_vertical"
android:minEms="5"
android:padding="5dip"
android:text="@string/item"
android:textColor="@color/button_background_light"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="2"
android:gravity="center_vertical"
android:minEms="2"
android:padding="5dip"
android:text="@string/dflag"
android:textColor="@color/button_background_light"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:gravity="center_vertical"
android:padding="5dip"
android:text="@string/material"
android:textColor="@color/button_background_light"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:gravity="center_vertical"
android:padding="5dip"
android:text="@string/plant"
android:textColor="@color/button_background_light"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:gravity="center_vertical"
android:padding="5dip"
android:text="@string/ordered_qty"
android:textColor="@color/button_background_light"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:gravity="center_vertical"
android:padding="5dip"
android:text="@string/posted_qty"
android:textColor="@color/button_background_light"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="4"
android:gravity="center_vertical"
android:padding="5dip"
android:text="@string/posting_qty"
android:textColor="@color/button_background_light"
android:textStyle="bold" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:gravity="center_vertical"
android:padding="5dip"
android:text="@string/uom"
android:textColor="@color/button_background_light"
android:textStyle="bold" />
</LinearLayout>
<com.sample.template.utils.ExpandableHeightListView
android:id="@+id/list_goods_receipt_items"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<com.sample.template.utils.ExpandableHeightGridView
android:id="@+id/goods_receipt_po_items_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:horizontalSpacing="10dip"
android:numColumns="2"
android:verticalSpacing="10dip" />
</LinearLayout>
</ScrollView>
如果问题太广,请告诉我,我会更新我的问题。
此致