2011-05-18 7 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

+0

。これを試してみましたが、ない私のコードでそれを実装することができ...私は、このコードのもう少し広義の画像を得ることができます。 – Nikhil

+0

1つの情報:上記のコードを使用しようとすると、 "別のメソッドで定義された内部クラス内の最終変数を参照できません"というエラーが発生した場合、onGroupExpand()メソッド内のlistViewへの参照を作成してください。 – Bappy004