以下是我的getChildView方法
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
final String childText = (String) getChild(groupPosition, childPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_item, null);
}
TextView txtListChild = (TextView) convertView
.findViewById(R.id.lblListItem);
txtListChild.setText(childText);
return convertView;
}
以下是我的getGroupView方法
@Override
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.assignee_list_group, null);
}
TextView lblListHeader = (TextView) convertView
.findViewById(R.id.lblListHeader);
lblListHeader.setTypeface(null, Typeface.BOLD);
lblListHeader.setText(headerTitle);
if (isExpanded) {
ImageView img_indicator = (ImageView) convertView
.findViewById(R.id.indicator_list);
img_indicator.setImageResource(R.drawable.circle_arrowdown);
} else {
ImageView img_indicator = (ImageView) convertView
.findViewById(R.id.indicator_list);
img_indicator.setImageResource(R.drawable.circle_arrow);
}
return convertView;
}
我收到以下错误,
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.drawable.Drawable.setBounds(android.graphics.Rect)' on a null object reference
at android.widget.ExpandableListView.drawDivider(ExpandableListView.java:537)
at android.widget.ListView.dispatchDraw(ListView.java:3313)
at android.widget.ExpandableListView.dispatchDraw(ExpandableListView.java:356)
at android.view.View.draw(View.java:15125)
at android.widget.AbsListView.draw(AbsListView.java:4250)
at android.view.View.updateDisplayListIfDirty(View.java:14056)
at android.view.View.getDisplayList(View.java:14079)
at android.view.View.draw(View.java:14846)
at android.view.ViewGroup.drawChild(ViewGroup.java:3405)
我在扩展可扩展列表视图时遇到上述错误。我怎样才能解决这个问题?
以下是我的childview xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="55dip"
android:background="@color/light_color_2"
android:orientation="vertical">
<TextView
android:id="@+id/lblListItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="15dp"
android:layout_marginStart="15dp"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:textAppearance="?android:attr/textAppearanceSmall"/>
<ImageView
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:src="@drawable/chevron"/>
</RelativeLayout>
以下是我的groupview xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="8dp">
<TextView
android:padding="8dp"
android:id="@+id/lblListHeader"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:text="assa"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/black"
android:textStyle="normal"/>
<ImageView
android:id="@+id/indicator_list"
android:layout_width="wrap_content"
android:layout_height="10dp"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_gravity="center_vertical|center_horizontal"
android:layout_margin="3dp"
android:layout_weight="1"
android:src="@drawable/circle_arrow"/>
</RelativeLayout>
以下是我的expandablelistview xml代码
<ExpandableListView
android:id="@+id/lvExp"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@+id/app_bar"
android:childDivider="@null"
android:divider="@color/gray"
android:dividerHeight="1dp"
android:groupIndicator="@null"/>
答案 0 :(得分:3)
问题出在childDivider
,它不应该为空,将其更改为透明
<ExpandableListView
android:id="@+id/lvExp"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_below="@+id/app_bar"
android:childDivider="@android:color/transparent"
android:divider="@color/gray"
android:dividerHeight="1dp"
android:groupIndicator="@null"/>
或者只删除整行,它不是必需属性