【发布时间】:2014-05-05 08:40:23
【问题描述】:
我有一个可扩展的 ListView,但我面临两个问题。 Q1。如果标题不包含任何子项,我想将其从列表中隐藏/删除。 为此,我有内部 getGroupView 方法。
if ( getChildrenCount( groupPosition ) == 0 )
{
convertView.setVisibility(View.GONE);
}
假设我有 10 个标题和标题 3,5,而 8 没有任何子项。当我使用上面的代码时,它隐藏了第 3、5、8 个标题,但问题是它在那里留下了空白空间,它看起来不像一个列表。那么知道如何让它看起来像一个列表吗?
第二季度。当标题没有任何孩子时,我想显示一条吐司消息,说“数据不可用”。为此,我在 getGroupView 方法中使用了以下代码,
convertView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if ( getChildrenCount( groupPosition ) == 0 )
Toast.makeText(_context, "No data available", Toast.LENGTH_SHORT).show();
}
});
这显示了 toast 消息,但这里的问题是 - 当我单击具有子项的标题时,它们不会被展开。如何解决这个问题?
这是填充数据集的代码
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();
listDataHeader.add(dayName_first);
listDataHeader.add(dayName_second);
listDataHeader.add(dayName_third);
listDataHeader.add(dayName_fourth);
listDataHeader.add(dayName_fifth);
listDataHeader.add(dayName_sixth);
listDataHeader.add(dayName_seventh);
firstDay = checkEmpty(firstDay); // Function to check whether the list is empty or not. Do I need to check each list here and add or somewhere else?
listDataChild.put(listDataHeader.get(0), firstDay);
listDataChild.put(listDataHeader.get(1), secondDay);
listDataChild.put(listDataHeader.get(2), thirdDay);
listDataChild.put(listDataHeader.get(3), fourthDay);
listDataChild.put(listDataHeader.get(4), fifthDay);
listDataChild.put(listDataHeader.get(5), sixthDay);
listDataChild.put(listDataHeader.get(6), seventhDay);
listAdapter = new StaffExpandableListAdapter(this, listDataHeader,
listDataChild);
llExpandable.invalidateViews();
llExpandable.setAdapter(listAdapter);
【问题讨论】:
标签: android expandablelistview