2015-02-09 39 views
0
list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       LinearLayout linear = (LinearLayout) view.findViewById(R.id.linear); 

       if (linear.getVisibility() == View.GONE) { 
        linear.setVisibility(View.VISIBLE); 
       } else { 
        linear.setVisibility(View.GONE); 
       } 

      } 
     }); 

當我點擊Listitem時,它會展開。但是當我點擊下一個項目時,上一個會讓機器人崩潰。我想一次只擴展一個,而不使用expandablelistview。收起其他列表Android

回答

0
private int lastExpandedPosition = -1; 
private ExpandableListView lv; //your expandable listview 

lv.setOnGroupExpandListener(new OnGroupExpandListener() { 
    @Override 
    public void onGroupExpand(int groupPosition) { 
      if (lastExpandedPosition != -1 
        && groupPosition != lastExpandedPosition) { 
       lv.collapseGroup(lastExpandedPosition); 
      } 
      lastExpandedPosition = groupPosition; 
    } 
}); 
+0

我不想使用可擴展的listview哥們。 – 2015-02-09 11:40:43

+0

所以,你應該保存lastExpandedPosition並設置linear.setVisibility(View.GONE);爲最後位置手動。 – grig 2015-02-09 11:46:42

+0

可以請您詳細說明嗎?我是新的 – 2015-02-09 11:47:50