我可以在android中将页脚设置为空列表视图吗?

时间:2013-03-08 12:12:31

标签: android android-layout

我想知道什么? 我有点好奇是否可以在android中为空ListView添加页脚。我查看了ListView页脚的文档,但是他们没有提到与此相关的任何内容。所以只是想知道它是否可能?

为什么我需要这个?
实际上我在我的应用程序中有edittext(搜索框),它将接受来自用户的输入字符。在这个输入的文本的基础上,我将在DB&中进行一些搜索。在ListView中显示匹配结果。我打算做的是在ListView的底部显示一个按钮(类似于页脚),它将为用户提供扩展的搜索选项。

一些参考代码:

    @Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
}

@Override
public void afterTextChanged(Editable s)
{
    strGuestCardToSerach = s.toString();

    if(strGuestCardToSerach.equals(""))
    {
        if(listview.getFooterViewsCount() > 0)
        {
            listview.removeFooterView(footerView);
            listviewAdapter.notifyDataSetChanged();
        }
    }
    else
    {
        if(listview.getFooterViewsCount() == 0)
        {
            footerView = inflater.inflate(R.layout.footer_view_layout, null);
            listview.addFooterView(footerView);
            listview.setAdapter(recentGuestAdapter);
            listviewAdapter.notifyDataSetChanged();
        }
    }
}

@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3)
{
}  

@Edit:
一旦ListView中至少有一个条目,它就可以工作。所以只是想了解是否可以将一个页脚添加到空的ListView中。

提前致谢。

4 个答案:

答案 0 :(得分:2)

如果有人正在寻找与我类似的功能,我发布这封信。答案为NO,您无法向空ListView添加页脚视图。要实现类似的功能,您将创建自己的布局和放大器。将它明确地添加到ListView&管理它的状态。

Rupesh

答案 1 :(得分:1)

我想你在ListView上使用ListAdapter?只需在您的ArrayList /列表项中添加“页脚项”即可。在getView方法中,检查项目是否是您的页脚,然后在其上设置自定义布局,您有按钮或其他任何内容。只是问一下我的意思是不清楚。

答案 2 :(得分:0)

要在列表为空时实现此方案: 创建适配器并为它们分配布局:

  1. 当list不为空时,使用布局为其分配适配器。
  2. 当列表为空时,分配一个虚拟适配器并带有一个初始值。
  3. 不要在getview中为虚拟布局赋值,或者将虚拟视图的大小赋予0 dp。 所以你可以实现这个场景...... 进一步询问我已经解决了这个问题

答案 3 :(得分:0)

public void addFooterView (View v)
Added in API level 1
Add a fixed view to appear at the bottom of the list. If addFooterView is called more than once, the views will appear in the order they were added. Views added using this call can take focus if they want.
Note: When first introduced, this method could only be called before setting the adapter with setAdapter(ListAdapter). Starting with KITKAT, this method may be called at any time. If the ListView's adapter does not extend HeaderViewListAdapter, it will be wrapped with a supporting instance of WrapperListAdapter.
Parameters
v
The view to add.