2013-04-22 64 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

相關問題