2013-04-22 65 views
1

这是我的代码。 l 当我运行它时,模拟器屏幕上没有任何内容。即使我为父母团体传递价值。为什么getGroupView不在ExpandableListView中调用?

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

回答

7

在一些methods.like getGroupCount()返回大小0,它的变化组大小ExpandableAdapter类变化的返回值。 getGroup(int groupPosition),它也返回null值,在groupPosition处更改 组的值。

+0

感谢您的回答 – Unknown 2013-04-22 06:44:35

相关问题