3

我想创建自己的snackbar扩展Fragment类。但我不确定fragment几秒钟后会关闭。因为我用hanlder这样关闭片段:

private Runnable run = new Runnable() {
        @Override
        public void run() {
            Fragment frag = getActivity().getSupportFragmentManager().findFragmentByTag(TAG);
            if(frag != null) {
                getActivity().getSupportFragmentManager().popBackStackImmediate(TAG, FragmentManager.POP_BACK_STACK_INCLUSIVE);
            }
        }
    };

我知道扩展库,但我需要自定义snackbars. 有时我收到:

> android.support.v4.app.FragmentActivity.getSupportFragmentManager()'
> on a null object reference

[编辑:]

onPause()我调用的方法:

@Override
    public void onPause() {
        super.onPause();
        handler.removeCallbacksAndMessages(null);
    }
4

1 回答 1

1

如果您的片段不再附加,getActivity 可以返回 null。

确保检查当前片段是否已添加且未与

isAdded() && !isDetached()

于 2015-12-14T16:07:00.300 回答