getActivity()在片段shakelistener中返回null

时间:2014-01-17 08:23:35

标签: android android-fragments

我的代码大部分时间都运行良好,但有时我的shake侦听器中的getActivity()为null。我确定片段附加到活动,因为我在震动发生之前执行了一些其他更新到它的UI。此外,我将监听器附加在onActivityCreated方法中,该方法确保创建活动并附加片段。

@Override
public void onActivityCreated (Bundle savedInstanceState){
    super.onActivityCreated(savedInstanceState);

    ShakeListener mShaker = new ShakeListener(getActivity());
    mShaker.setOnShakeListener(new ShakeListener.OnShakeListener () {
        public void onShake()
        {
            ImageView next_App = (ImageView)getActivity().findViewById(R.id.next_app); 
            Animation next_move = AnimationUtils.loadAnimation(getActivity(), R.anim.next); 
            next_App.startAnimation(next_move);
        }
    });
}

我无法弄清楚这个问题,还有许多其他问题的答案,所以任何帮助都表示赞赏。 感谢

1 个答案:

答案 0 :(得分:1)

Similar question

片段与活动分离,因此getActivity()有时会返回null。 添加getActivity != null支票或在isAdded()之前更好地检查getActivity()