Chris Banes拉动片段中的ListView / GridView

时间:2012-07-13 20:40:08

标签: android listview fragment pull-to-refresh

我正在尝试包含Chris Banes Pull来刷新Fragment中的实现,并且在创建PullToRefreshListView时遇到以下错误:

java.lang.NoSuchFieldError: com.handmark.pulltorefresh.library.R$id.pull_to_refresh_text

创建PullToRefreshListView的重点是继承ListFragment的类中的onCreateView:

public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {

    ViewGroup viewGroup = (ViewGroup) super.onCreateView(inflater, container, savedInstanceState);

    View lvOld = viewGroup.findViewById(android.R.id.list);

    listView = new PullToRefreshListView(getActivity());
    listView.setId(android.R.id.list);
    listView.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
    listView.setDrawSelectorOnTop(false);
    adapter = new LazyAdapter(getActivity());
    listView.setAdapter(adapter);

    FrameLayout parent = (FrameLayout) lvOld.getParent();

    parent.removeView(lvOld);
    lvOld.setVisibility(View.GONE);

    parent.addView(listView, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));

    return viewGroup;

}

布局如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:background="#FF0000">

    <ListView
        android:id="@+id/android:list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />

</LinearLayout>

我错过了什么?

1 个答案:

答案 0 :(得分:1)

更换“pull to refresh”小部件http://markupartist.com from Johan Nilsson后,我遇到了同样的错误。有必要从布局目录中删除header.xml(包含对错误消息中提到的文本的引用)。文本已经是Chris Banes图书馆的一部分。