2011-05-18 59 views
0

我无法关闭以前扩展的组,以扩展新组。我已阅读过类似的问题,但我无法从中提取概念。我尝试使用collapseGroup(groupPosition)方法,但它不起作用。ExpandabeListView自动折叠

回答

3

嗨请尝试下面的代码。


int lastExpandedGroupPosition = 0; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    final ExpandableListView listView = (ExpandableListView) findViewById(R.id.listView); 

    listView.setOnGroupExpandListener(new OnGroupExpandListener() { 

     @Override 
     public void onGroupExpand(int groupPosition) { 

      // TODO Auto-generated method stub 
      if (groupPosition != lastExpandedGroupPosition) { 
       listView.collapseGroup(lastExpandedGroupPosition); 

      } 
      lastExpandedGroupPosition = groupPosition; 

     } 
    }); 

    adapter = new ExpandableListAdapter(this, new ArrayList<String>(), 
      new ArrayList<ArrayList<Vehicle>>()); 

    // Set this blank adapter to the list view 
    listView.setAdapter(adapter); 


} 

进口低于线。


import android.widget.ExpandableListView.OnGroupExpandListener; 

+0

我试过,但没能实现它在我的代码...我能得到这个代码的点点更为宽广的画面.. – gaurav 2011-05-18 10:49:27

+0

请回答我有编辑它。 – Nikhil 2011-05-18 11:41:51

+0

一个信息:如果你尝试使用上面的代码,并且得到一个“不能引用一个在不同方法中定义的内部类中的非最终变量”错误,只需在onGroupExpand()方法内创建一个对listView的引用。 – Bappy004 2012-06-29 05:50:40