4

在我的应用程序开始时,我在选项卡中加载了一些片段。这是我加载的一个:

WishlistFragment wishlistfragment = new WishlistFragment();

加载并显示 Fragment 后,我​​将从其他 Fragment 调用它:

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 回答