带有EditText展开的ExpandableListView GroupView无法正常工作

时间:2016-05-05 06:24:12

标签: android xml android-layout listview expandablelistview

我尝试在可扩展listview的组视图中保留编辑文本。如果我保持编辑文本扩展并折叠不适用于组视图。

我尝试过其他视图,例如文本视图和复选框组视图正常工作。

您是否知道扩展和崩溃无法使用edittext的原因是什么。

示例wroking groupview.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#8cae88"
    android:orientation="horizontal"
    android:padding="8dp" >

    <TextView
        android:id="@+id/lblListHeader"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingBottom="5dp"
      android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft"
        android:paddingTop="5dp"
        android:textColor="#f9f93d"
        android:textSize="17dp" />


    <TextView
        android:id="@+id/textOne"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingBottom="5dp"
        android:paddingTop="5dp"
        android:text="SampleTxt"
        android:textColor="#f9f93d"
        android:textSize="17dp" />



</LinearLayout>

添加edittext后的示例,而不是使用groupview.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#8cae88"
    android:orientation="horizontal"
    android:padding="8dp" >

    <TextView
        android:id="@+id/lblListHeader"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingBottom="5dp"
      android:paddingLeft="?android:attr/expandableListPreferredChildPaddingLeft"
        android:paddingTop="5dp"
        android:textColor="#f9f93d"
        android:textSize="17dp" />


    <TextView
        android:id="@+id/textOne"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingBottom="5dp"
        android:paddingTop="5dp"
        android:text="SampleTxt"
        android:textColor="#f9f93d"
        android:textSize="17dp" />
 <EditText
        android:id="@+id/b_discount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:paddingBottom="5dp"
        android:paddingTop="5dp" />


</LinearLayout>

这是ExpandableListAdapter getGroupView方法代码

public View getGroupView(int groupPosition, boolean isExpanded,
                View convertView, ViewGroup parent) {
            String headerTitle = (String) getGroup(groupPosition);
            if (convertView == null) {
                LayoutInflater infalInflater = (LayoutInflater) this._context
                        .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                convertView = infalInflater.inflate(R.layout.list_group, null);
            }

            TextView lblListHeader = (TextView) convertView
                    .findViewById(R.id.lblListHeader);
            lblListHeader.setTypeface(null, Typeface.BOLD);
            lblListHeader.setText(headerTitle);convertView.setBackgroundResource(R.color.blue_list_dashboard);
            return convertView;
        }

感谢您提前。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。没能找到解决方案。尝试了所有的事情。 但我所做的是: -

 <Linearlayout>  
    <edittext> (Gone)
</Linearlayout>

当用户点击edittext时,只显示edittext并将焦点放在edittext上。 只是一种技巧。

如果有任何人有最好的解决方案,请上来。因为这不是一个好方法。但它的工作。