【问题标题】:listview addFooterView problemslistview addFooterView 问题
【发布时间】:2010-10-18 17:26:31
【问题描述】:

我有内容需要在我的列表视图上方和下方显示,如果您可以同时使用滚动视图和列表视图,那么滚动视图会非常有用。由于那不是最好的解决方案,我一直在尝试做一些事情来将页脚内容添加到我的列表视图中,

下面的图片显示了当我添加不同类型的行作为最后一行时会发生什么。我无法让我的内容填满行的宽度

我有几个按钮需要放在页脚中。我正在使用扩展 BaseAdapter 的自定义适配器。

我也尝试过使用 addFooterView,但如果您正在实现自己的适配器,我对如何使用 addFooterView 方法感到困惑。任何人都有任何关于如何在自定义适配器上实现 addFooterView 的简单示例

或

有没有办法让该位置的行(如图所示)更好地显示,这是我用来创建此页脚行的代码

        View v = getLayoutInflater().inflate(R.layout.item_listview_footer, null);
        LinearLayout ll = (LinearLayout) v.findViewById(R.id.ll);
        return ll;  // return ll as convertView in getView function

编辑:

这是我的页脚布局的 xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" android:background="@drawable/red" android:orientation="vertical" android:id="@+id/ll">
    <Button android:id="@+id/specialInsButton" style="@style/button" android:text="Add Special Instructions" android:layout_width="fill_parent"/>
    <Button android:id="@+id/addToBagButton" style="@style/button" android:text="Add To Bag"/>
    <EditText android:id="@+id/quantity" style="@style/standard" android:text="1"/>
</LinearLayout>

这里是样式/按钮的xml

<style name="button">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">fill_parent</item>
        <item name="android:textSize">17px</item>
        <item name="android:textStyle">bold</item>
        <item name="android:typeface">sans</item>
        <item name="android:gravity">center</item>
        <item name="android:layout_gravity">center</item>

    </style>

标准风格

 <style name="standard">
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_width">wrap_content</item>
    </style>

【问题讨论】:

  • 从 API19 修复

标签: android listview android-linearlayout android-listview


【解决方案1】:

您可以将 addFooterView 与自定义适配器一起使用。只需确保在调用 listview.setAdapter() 之前调用 addFooterView。

View v = getLayoutInflater().inflate(R.layout.item_listview_footer, null);
listView.addFooterView(v);
listView.setAdapter(adapter);

【讨论】:

  • 工作正常,但我的页脚视图仍然无法正确显示,任何想法为什么它仍然只有几个像素宽而不是“fill_parent”宽? ? ?
  • 我没有看到任何可能导致此问题的原因。这些按钮应该垂直堆叠并占据屏幕的整个宽度,对吗?您应该在 textSize 属性中使用“sp”而不是“px”,但这应该是不相关的。您可以为editText 发布@style/standard 吗?
  • 你是对的,这是样式
  • 对我来说似乎没有错。您是否尝试过使用 hierarchyViewer 查看视图?它应该有助于找出导致错误的视图。 developer.android.com/guide/developing/tools/…
  • 这对我来说是必要的,因为页脚完全出现在 4.1.1 上。他们使用相同的代码在 4.4.4 上运行良好...
猜你喜欢
  • 1970-01-01
  • 2016-10-08
  • 1970-01-01
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多