Крис Бэйнс потяните, чтобы обновить ListView/GridView во фрагменте

Я пытаюсь включить Chris Banes Pull для обновления реализации внутри фрагмента, и я получаю следующую ошибку при создании PullToRefreshListView:

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

Точка создания PullToRefreshListView находится в onCreateView в классе, наследующем ListFragment:

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>

Что мне не хватает?


person user1524261    schedule 13.07.2012    source источник


Ответы (1)


У меня такая же ошибка после замены виджета "потянуть для обновления" http://markupartist.com от Йохана Нильссона. Было необходимо удалить header.xml из каталога макета (содержащего ссылки на текст, упомянутый в вашем сообщении об ошибке). Тексты уже являются частью библиотеки Криса Бейнса.

person Michal Harakal    schedule 20.07.2012
comment
Большое спасибо! Похоже, проблема в том, что у меня были ссылки на обе библиотеки, а имя макета было одинаковым. Я удаляю ссылку на библиотеку Йохана Нильссона, и теперь она работает :) - person user1524261; 21.07.2012