Android 使用自定义listview标题(固定标题)进行拉式刷新
我正试图用这个库在我的sherlockListFragment中实现Pull-to-refresh 我为listview添加了一个cutom头。我试图修复此标题时出现的问题。拉动刷新我在logcat中发现此错误:Android 使用自定义listview标题(固定标题)进行拉式刷新,android,android-layout,listview,Android,Android Layout,Listview,我正试图用这个库在我的sherlockListFragment中实现Pull-to-refresh 我为listview添加了一个cutom头。我试图修复此标题时出现的问题。拉动刷新我在logcat中发现此错误: 05-09 09:09:43.476: E/AndroidRuntime(22559): java.lang.IllegalStateException: **Can't be used with a custom content view** 05-09 09:09:43.476:
05-09 09:09:43.476: E/AndroidRuntime(22559): java.lang.IllegalStateException: **Can't be used with a custom content view** 05-09 09:09:43.476: E/AndroidRuntime(22559): at android.support.v4.app.ListFragment.setListShown(ListFragment.java:282) 05-09 09:09:43.476: E/AndroidRuntime(22559): at android.support.v4.app.ListFragment.setListShown(ListFragment.java:258) 05-09 09:09:43.476: E/AndroidRuntime(22559): at com.openbee.v3.fragments.NotifsFileFragment.onRefreshStarted(NotifsFileFragment.java:355)
如何使用自定义内容视图来解决此问题。这是我的代码:
NotifsFileFragment:
public class NotifsFileFragment extends SherlockListFragment implements OnRefreshListener {
public static ActionMode mActionMode;
private static Notifs_file_adapter adapter;
public static ArrayList<DocumentRow> itemData;
private static final String TAG_COLOR = "color";
private RelativeLayout mRelativeLayout;
private ImageView mImageView;
private Drawable icon_header_Drawable;
int selectednumber;
private PullToRefreshLayout mPullToRefreshLayout;
View listvView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container,
savedInstanceState);
View view = inflater.inflate(R.layout.header_queue, container, false);
mImageView = (ImageView) view.findViewById(R.id.icon_header_list);
listvView = (ListView) view.findViewById(R.id.list);
icon_header_Drawable = getResources().getDrawable(R.drawable.ic_header_notif_file);
mImageView.setImageDrawable(icon_header_Drawable);
TextView mTextView = (TextView) view.findViewById(R.id.text_header);
mTextView.setText("Notifications des documents");
// setListShownNoAnimation(true);
return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view,savedInstanceState);
ViewGroup viewGroup = (ViewGroup) view;
// As we're using a ListFragment we create a PullToRefreshLayout manually
mPullToRefreshLayout = new PullToRefreshLayout(viewGroup.getContext());
// We can now setup the PullToRefreshLayout
ActionBarPullToRefresh.from(getActivity())
// We need to insert the PullToRefreshLayout into the Fragment's ViewGroup
.insertLayoutInto(viewGroup)
// Here we mark just the ListView and it's Empty View as pullable
.theseChildrenArePullable(android.R.id.list, android.R.id.empty)
.listener(this)
.setup(mPullToRefreshLayout);
}
公共类NotifsFileFragment扩展了SherlockListFragment在RefreshListener上的实现{
公共静态动作模式;
专用静态通知文件适配器;
公共静态ArrayList itemData;
私有静态最终字符串标记\u COLOR=“COLOR”;
私人关系的相关布局;
私有图像视图mImageView;
私有可绘制图标\u标题\u可绘制;
int-selectednumber;
私人PullStoreFreshLayout MPullStoreFreshLayout;
查看列表视图;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
super.onCreateView(充气机、容器、,
保存状态);
视图=充气机。充气(R.layout.header\u队列,容器,false);
mImageView=(ImageView)view.findViewById(R.id.icon\u header\u list);
listvView=(ListView)view.findViewById(R.id.list);
icon\u header\u Drawable=getResources().getDrawable(R.Drawable.ic\u header\u notif\u文件);
mImageView.setImageDrawable(图标标题可绘制);
TextView mTextView=(TextView)view.findViewById(R.id.text\u头);
mTextView.setText(“文件通知”);
//SetListShownAnimation(真);
返回视图;
}
@凌驾
已创建视图上的公共void(视图,捆绑保存状态){
super.onViewCreated(视图,savedInstanceState);
ViewGroup ViewGroup=(ViewGroup)视图;
//在使用ListFragment时,我们手动创建PullToRefreshLayout
mPullToRefreshLayout=new PullToRefreshLayout(viewGroup.getContext());
//我们现在可以设置PullToRefresh布局
ActionBarPullToRefresh.from(getActivity())
//我们需要将PullToRefreshLayout插入片段的视图组
.InsertLayoutino(视图组)
//这里我们只标记ListView,它的空视图是可拖拉的
.TheChildrenaRepallable(android.R.id.list,android.R.id.empty)
.listener(这个)
.设置(MPULL布局);
}
你能找到答案吗?