3

Fragment 内の実装を更新するために Chris Banes Pull を含めようとしていますが、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>

私は何が欠けていますか?

4

1 に答える 1

1

「プルして更新」ウィジェット http://markupartist.com を Johan Nilsson から置き換えた後、同じエラーが発生しました。レイアウト ディレクトリ (エラー メッセージに記載されているテキストへの参照を含む) から header.xml を削除する必要がありました。テキストは、すでに Chris Banes のライブラリの一部です。

于 2012-07-20T14:50:10.063 に答える