当前位置: 首页 > 知识库问答 >
问题:

最后一项之后页脚之前的不同Listview分隔符

谭景福
2023-03-14

我通过从Listview中删除my_list.xml默认分隔符来设置我的自定义分隔符:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/app_background">

    <ListView android:id="@id/android:list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="@null"
        android:dividerHeight="0dp"/>

</LinearLayout>

并在my_项目的每个项目下添加View。xmlRelativeLayout保留项目图标;LinearLayout保留项目文本):

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:background="@color/white">

    <RelativeLayout
        android:layout_width="60dp"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/icon"
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:src="@drawable/staticmap" >
        </ImageView>

    </RelativeLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/white">

        ...

        <View
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#E4E4E4"
            />

    </LinearLayout>

</LinearLayout>

正因为如此,我在每个项目文本下都有客户分隔符(视图),但在项目图标下没有。

在列表中的最后一项之后,我希望分割符也可以在这样的图标下显示:

以下是通货膨胀的原因:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setListAdapter(new ArrayAdapter<DummyContent.DummyItem>(getActivity(),
            R.layout.my_item, R.id.label, DummyContent.ITEMS));
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.my_list, null);
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
    getListView().addFooterView(getLayoutInflater(savedInstanceState).inflate(R.layout.my_footer, null));
    super.onActivityCreated(savedInstanceState);
}

共有1个答案

凤安然
2023-03-14

只需在图标下添加相同的分隔视图。

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:visibility="gone"
    android:background="#E4E4E4"/>

并通过检查它是否是列表视图中的最后一项,使其在getView()中可见

只需使用相同的getView()

 类似资料:
  • 我在我的列表视图中添加了一个可绘制的分隔线,但它出现在除最后一项之外的所有项目中。 我在列表中只有5个项目,所以在最后一个项目之后都是空白,我想在最后一项之后也有一个分隔符 我试过这个: 在我的列表视图中。但它不起作用 非常感谢。

  • 有没有办法防止分割器显示在最后一个项目之后?

  • 我试图在中实现页脚,文档最后一页的页脚应该不同,我添加了一个事件处理程序,当文档关闭时调用该处理程序,但试图在页面上循环会导致空指针异常: 下面是我试图实现的代码: 最初,我认为这是有效的,因为我插入了一个单独的区域中断,以使pdf在两个页面上分裂,但是当我添加更多的内容和页面自然增加时,我得到了这个异常,类似地,我现在通过尝试插入多个区域中断进行测试,我得到了相同的异常。

  • “我的列表视图”项包含一个“删除”按钮,我在适配器中将其设置为从数据库中删除该项。完成后,如何刷新包含listView的片段以删除该项?相关代码如下: 删除适配器中的项功能: listview在我的片段中是这样设置的: 谢谢 更新: 现在我已经将子项目上的OnClickListener从适配器传递到片段ListView OnItemClickListener,如下所示: 更新适配器 更新片段 但现

  • 问题内容: 这类似于问题如何在Java Swing中构建Google- chrome标签和菜单栏界面?(我想实现相同的目的),但更重要的是:如何在JTabbedPane中的选项卡的前面和后面放置组件? 我已经自己想到了按钮的想法,但是我宁愿有一个JTabbedPane,因为它确实是它的意思,但是在侧面装饰有按钮或图标。 我已经看到,基里尔(Kirill)的laf-widget项目对多个LaF都执行