我正在尝试包含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>
我错过了什么?
答案 0 :(得分:1)
更换“pull to refresh”小部件http://markupartist.com from Johan Nilsson后,我遇到了同样的错误。有必要从布局目录中删除header.xml(包含对错误消息中提到的文本的引用)。文本已经是Chris Banes图书馆的一部分。