listview从底部添加页脚,标题和项目

时间:2013-07-07 17:15:45

标签: android listview android-listview

我正试图处理下面的情节而没有运气:( 我想构建以下listview:

"--------------------"

  header


< empty space >

< empty space >

< empty space >

< empty space >





  item1

  footer

"-------------------"

并且在页眉到页脚之间我不想要任何东西,只是黑色的nadda。 可能吗?谢谢

1 个答案:

答案 0 :(得分:1)

首先,你必须了解它的工作原理。 页眉和页脚(以下简称HF) - 一个视图,可以添加到上下列表中。为确保相应的View列表项不再符合适配器和程序员。他必须创建一个View并将其提交到方法列表或addHeader addFooter。

这是两种实施方法。考虑一下Header的例子。

  1. addHeaderView(View v,Object data,boolean isSelectable)
  2. v - 查看,显示为列表项 data - 与项列表关联的对象 isSelectable - 是否可以点击该项目或释放他

    1. addHeaderView(查看v)
    2. 第一种方法遇到以下参数的挑战:addHeaderView(v,null,true);

      使用HF时,适配器有警告。分配列表适配器(方法setAdapter)时,已添加到页眉或页脚的检查列表。

      如果没有,列表处于活动状态,则禁止适配器本身进一步增强HF。它是在方法和addHeader addFooter的帮助下编写的 - «在调用setAdapter之前调用它。也就是说,您必须在分配适配器列表之前添加HF。

      如果是这样,列表将使用构造函数包装生成的适配器HeaderViewListAdapter:HeaderViewListAdapter(ArrayList headerViewInfos,ArrayList footerViewInfos,ListAdapter adapter),其中headerViewInfos和footerViewInfos - 它先前已添加到HF列表和适配器 - 适配器我们给出了清单。现在,工作列表将由适配器HeaderViewListAdapter使用,即将用作HF,以及来自适配器的数据,该数据被分配给列表。

      因此,如果您运行以下示例代码

        lvMain.addHeaderView(header1);
          lvMain.addHeaderView(header2, "some text for header 2", false);
          lvMain.addFooterView(footer1);
          lvMain.addFooterView(footer2, "some text for footer 2", false);
          lvMain.setAdapter(adapter);
      

      你会得到一个包含2个标题,2个标题的列表视图,而你的标题是&页脚。

      对你来说问题: 是的,在某些情况下这是可能的:

      • 您是适配器充气空白视图
      • 你在适配器中的数据是“”或类似的东西
      • 您的虚增视图在黑色背景上有黑色文字,但在这种情况下,您可能会在点击时看到此内容。

      未来 - 发布您的代码并使用标签为文本框,以便我们可以完全识别问题