4

アプリの最初に、いくつかのフラグメントをタブにロードします。これが私がロードするものです:

WishlistFragment wishlistfragment = new WishlistFragment();

フラグメントがロードされて表示されたら、他のフラグメントからこれを呼び出します。

wishlistfragment.adapter.notifyDataSetChanged();

問題は、wishlistfragmentが作成/表示される前にこれを呼び出すと、次の例外が発生することです。

java.lang.IllegalStateException:コンテンツビューはまだ作成されていません。

プログラムで、ビューがまだ作成されているかどうかを判断する方法はありますか?

4

1 に答える 1

9

組み込みの方法はわかりませんが、通知を処理するメソッドを作成し、をオーバーライドすることで、独自の方法を考案できonCreateViewますWishlistFragment。このようなものが機能する可能性があります:

public class WishlistFragment extends ListFragment {
    private boolean _viewExists = false;

    @Override
    public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle bundle )
    {
        _viewExists = true
        return super.onCreateView( inflater, container, bundle );
    }

    public void notifyChange()
    {
        if ( _viewExists )
            getListAdapter().notifyDataSetChanged();
    }
于 2012-11-02T22:40:00.777 に答える