【问题标题】:Dynamically add divider to last item in list view动态地将分隔线添加到列表视图中的最后一项
【发布时间】:2013-01-08 20:29:48
【问题描述】:

我正在以编程方式将列表视图添加到这样的线性布局中:

ArrayList<Answer> ans = (ArrayList<Answer>) ques.getAnswers();
    adapter = new AnswerAdapter(Test.this, ans);

    ansList = new ListView(Test.this); // my list view adding dynamically
    ansList.setAdapter(adapter);
    ansList.setVerticalScrollBarEnabled(false);
    ansList.setOnItemClickListener(cellClickListener);
    ansLayout.addView(ansList);

现在的问题是除了最后一项之外,每个项目之后都有默认分隔符,我希望分隔符在最后一项之后也可见。

我在 SO 中研究了许多问题,他们在布局中添加视图,但我需要以编程方式添加。

【问题讨论】:

    标签: android android-listview android-linearlayout


    【解决方案1】:

    您可以在列表视图中添加页脚视图...所以制作页脚视图的布局...并如下绑定

    View footerView = ((LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.track_footer_view, null, false);
    listview.addFooterView(footerView);
    

    所以你可以在最后一个项目的末尾有页脚视图..

    【讨论】:

    • 在此布局中放置分隔线图像.. 这样您就可以在列表视图的末尾看到该布局
    • 好的,你的意思是在这个布局中添加一个图像视图? ...谢谢现在检查一下,非常感谢
    • @SanketKachhela 很抱歉再次打扰您,但它仍然没有添加到最后一项...请帮助..这是我的布局 schemas.android.com/apk/res/android" android:layout_width= "match_parent" android:layout_height="match_parent" android:orientation="vertical" >
    • setAdapter 在这 2 行代码之后或显示您的新 java 代码
    • 实际上是在添加,但最后一项空间太大,所以图像远低于该项
    【解决方案2】:

    -将该分隔符作为footer 添加到您的ListView

    例如:

    View mfooter = View.inflate(MyClass.this, R.layout.imagelayout, null);
    lv.addFooterView(mfooter, null, false);
    

    【讨论】:

    • 这里的 R.layout.imagelayout 是什么,这个布局会有什么。
    • @Goofy here R.layout.imagelayout 是一个布局示例,它将代表您的页脚(即分隔符)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多