2

这是我的代码。l 当我运行它时,模拟器屏幕上什么也没有。即使我正在为父组传递价值。

我也在 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" />
4

1 回答 1

8

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

于 2013-04-22T05:56:35.357 回答