相关疑难解决方法(0)

执行notifyDataSetChanged时使用ListView的ClassCastException

我在listVivew的标题中添加了一个视图,

    View TopSearch =  (View) View.inflate(this, R.layout.search, null);
    lv.addHeaderView(TopSearch, null, false);
Run Code Online (Sandbox Code Playgroud)

一切都很好,直到我尝试执行(数据更改时)

adapter.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)

总是崩溃我的应用程序给我以下错误:

> java.lang.ClassCastException:android.widget.HeaderViewListAdapter

如果我删除标题视图,则没有错误.有什么建议?谢谢.

listview header dataset adapter notify

38
推荐指数
4
解决办法
1万
查看次数

ListFragment下面的固定且始终可见的页脚

我正在尝试将一个固定且始终可见的页脚附加到ListFragment的底部.

我现在这样做:

@Override public void onActivityCreated(Bundle savedInstanceState) {

    // ...

    adapter = new MyAdapter(getActivity(), R.layout.list, dataList);

    ListView list = getListView();
    View footer = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_add, null, false);

    list.addFooterView(footer);
    setListAdapter(adapter);
}
Run Code Online (Sandbox Code Playgroud)

虽然这段代码确实在列表的底部生成了一个视图,但它并没有真正做到我想要的:

首先,我需要页脚固定,即在屏幕上可见,无论列表的滚动位置如何.使用此解决方案,只有当屏幕滚动到列表底部时,才会显示页脚.

其次,即使列表为EMPTY,我也需要显示页脚.在此解决方案中,当列表为空时,页脚不可见.

固定页脚(在我的情况下,按钮)总是出现在ListFragment或ListActivity下面的最佳方法是什么?

谢谢!

android android-listview android-listfragment

14
推荐指数
1
解决办法
1万
查看次数