这是我的代码。

当我运行它时,模拟器屏幕上什么都没有。甚至我正在传递父母团体的价值。

我也将断点放在getGroupView上,但是此方法无法调用。

//父组中值的类

public class ArrayForList
{
    public static String[] grp ={"Car"};
}


//活动

public class ExpandableActivity extends Activity {

    ExpandableListView ev;
    ExpandableAdapter adp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_expandable);

        ev = (ExpandableListView) findViewById(R.id.el);
        ev.setAdapter(new ExpandableAdapter(this));
    }
    }


//适配器

public class ExpandableAdapter extends BaseExpandableListAdapter {

    Context myContext;
    public ExpandableAdapter(Context con)
    {
        this.myContext = con;
    }

    @Override
    public Object getChild(int groupPosition, int childPosition) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public View getChildView(int groupPosition, int childPosition,
            boolean isLastChild, View convertView, ViewGroup parent) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public Object getGroup(int groupPosition) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public int getGroupCount() {
        // TODO Auto-generated method stub
        return 0;
    }

    @Override
    public long getGroupId(int groupPosition) {
        // TODO Auto-generated method stub
        return groupPosition;
    }

    @Override
    public View getGroupView(int groupPosition, boolean isExpanded,
            View convertView, ViewGroup parent) {
        if (convertView == null) {
            LayoutInflater inflater =  (LayoutInflater) myContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.group_row, null);
        }

        TextView tvGroupName = (TextView) convertView.findViewById(R.id.tv_group);
        tvGroupName.setText(ArrayForList.grp[groupPosition]);

        return convertView;

    }

    @Override
    public boolean hasStableIds() {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        // TODO Auto-generated method stub
        return false;
    }
    }


// xml group_row

 <TextView
        android:id="@+id/tv_group"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />


// xml主

<ExpandableListView
        android:id="@+id/el"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

最佳答案

在ExpandableAdapter类中,更改某些方法的返回值。如getGroupCount()返回大小0,则将其更改为组大小。 getGroup(int groupPosition),它也返回空值,更改
groupPosition上group的值。

10-07 20:52