2015-06-22 34 views
-2

我是新来的android。我需要在不点击父视图的情况下自动膨胀可展开列表视图的子项。我搜索了很多网站,我没有发现任何一条线索可以像这样工作。需要膨胀自动展开列表视图,而不点击父视图

public class ExpListActivity extends ExpandableListActivity { 

    private ExpandableListView mExpList; 
    private ExpListAdapter mExpListAdapter; 

    final String mArrGroupelements[] = {""}; 
    final String mArrChildelements[][] = { { "Sachin Tendulkar", "Raina", "Dhoni", "Yuvi" } }; 

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

     mExpList = getExpandableListView(); 
     mExpListAdapter = new ExpListAdapter(this, mArrGroupelements, mArrChildelements); 


    } 
    public void onClick(View v){ 

     mExpList.setAdapter(mExpListAdapter); 

    } 

} 


public class ExpListAdapter extends BaseExpandableListAdapter { 

    Context mContext; 
    String[] mArrGroupelements; 
    String[][] mArrChildelements; 

    public ExpListAdapter(Context context, String[] mArrGroupelements, String[][] mArrChildelements) { 
     mContext = context; 
     this.mArrGroupelements = mArrGroupelements; 
     this.mArrChildelements = mArrChildelements; 
    } 

    @Override 
    public int getGroupCount() { 
     return mArrGroupelements.length; 
    } 

    @Override 
    public int getChildrenCount(int groupPosition) { 
     return mArrChildelements[groupPosition].length; 
    } 

    @Override 
    public Object getGroup(int groupPosition) { 
     return groupPosition; 
    } 

    @Override 
    public Object getChild(int groupPosition, int childPosition) { 
     return childPosition; 
    } 

    @Override 
    public long getGroupId(int groupPosition) { 
     return groupPosition; 
    } 

    @Override 
    public long getChildId(int groupPosition, int childPosition) { 
     return childPosition; 
    } 

    @Override 
    public boolean hasStableIds() { 
     return false; 
    } 

    @Override 
    public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { 
     TextView tv = (TextView) convertView; 

     if (convertView == null) { 
      LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      tv = (TextView) inflater.inflate(R.layout.parent, null); 
     } 
     tv.setText(mArrGroupelements[groupPosition]); 
     convertView = tv; 
     return convertView; 
    } 

    @Override 
    public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, 
      ViewGroup parent) { 
     TextView tv = (TextView) convertView; 
//  tv.setWidth(100); 

     if (convertView == null) { 
      LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      tv = (TextView) inflater.inflate(R.layout.list_cell, null); 
     } 
     tv.setText(mArrChildelements[groupPosition][childPosition]); 
     convertView = tv; 
     tv.setWidth(100); 
     return convertView; 
    } 

    @Override 
    public boolean isChildSelectable(int groupPosition, int childPosition) { 
     return true; 
    } 

} 
+0

你可以用'mExpList.expandGroup(我)'某个特定群体扩大,或者你可以将它放在一个'for'循环来展开所有组 –

+0

你可以给我示例code.where我需要放置循环plz – user3189148

回答

1

更改onCreate到以下

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

     mExpList = getExpandableListView(); 
     mExpListAdapter = new ExpListAdapter(this, mArrGroupelements, mArrChildelements); 
     for(int i=0; i>mArrGroupelements.length; i++){ 
       mExpList.expandGroup(i); 
     } 
    } 
+0

,但当我点击按钮它显示的父母,当我点击父母然后显示child.but我父母为null.now当我点击按钮它应该加载孩子直接不parent.plz – user3189148

+0

,我只有一个家长在该可扩展列表视图... – user3189148