我想限制列表視圖的打開項目爲一個。 如何關閉上一個打開的項目,何時點擊另一個項目?
例如: 項目#1被點擊 - 項目#1打開。
項目#2被點擊 - 項目#1關閉。項目#2打開。Android listView - 關閉項目點擊打開的項目
我嘗試用最後一個位置手動調用onItemClick函數,但它太複雜了。
這是我的onitemclick功能:
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
animSlideDown = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.slide_down);
RelativeLayout wrapper = (RelativeLayout) view;
final RelativeLayout itemClosed = (RelativeLayout) wrapper.getChildAt(1);
final RelativeLayout fullItem = (RelativeLayout) wrapper.getChildAt(0);
boolean isOpen = itemClosed.getVisibility() == View.GONE;
if (!isOpen) {
fullItem.setVisibility(View.VISIBLE);
fullItem.startAnimation(animSlideDown);
itemClosed.setVisibility(View.GONE);
} else {
itemClosed.setVisibility(View.VISIBLE);
fullItem.setVisibility(View.GONE);
}
}
感謝
我正在使用更多功能庫中的自定義列表視圖,我無法更改爲ExpandableListView。 –