我试图将chris banes pull to refresh实现包含在一个片段中,并且在创建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>
我错过了什么?
最佳答案
在替换“拉入刷新”小部件后,我遇到了同样的错误。必须从布局目录中删除header.xml(包含对错误消息中提到的文本的引用)。文本已经是克里斯·贝恩斯图书馆的一部分了。
关于android - 克里斯·类尼斯(Chris Banes)拉动 fragment 中的ListView/GridView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11478047/