在查看寻呼机加载所有数据之前按下后退按钮时应用程序崩溃

时间:2018-03-09 11:17:11

标签: java android android-activity

我在输入活动时遇到严重问题并在数据完全加载之前按下后退按钮,我在活动内部有一个视图寻呼机,它会加载图像。我的应用程序崩溃,这是我得到的例外:

  

W / Binder:从活页夹存根中捕获到RuntimeException   实现。                                            java.lang.NullPointerException at   android.inputmethodservice.IInputMethodWrapper.setSessionEnabled(IInputMethodWrapper.java:280)   在   com.android.internal.view.IInputMethod $ Stub.onTransact(IInputMethod.java:129)   在android.os.Binder.execTransact(Binder.java:404)处   dalvik.system.NativeStart.run(原生方法)

我正在使用广播接收器更新ui,并在onPause()中取消注册接收器。

 updateUIReciver = new BroadcastReceiver() {

        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent.getAction().equals("refresh"))
                if (viewPager.getAdapter() == null) {
                    VigerAdapter adapter = new VigerAdapter(OpenUrlActivity.this, bitmaps);
                    viewPager.setAdapter(adapter);
                } else
                    viewPager.getAdapter().notifyDataSetChanged();
        }
    };
    registerReceiver(updateUIReciver, filter);'

这是我的onPause方法

    @Override
protected void onPause() {
    if (updateUIReciver != null)
        unregisterReceiver(updateUIReciver);
    super.onPause();
}

” 这是我用来下载位图图像的库

        new VigerPDF(this)
                .initFromFile(file, new OnResultListener() {
                    @Override
                    public void resultData(Bitmap bitmap) {
                        bitmaps.add(bitmap);
                        try {
                            Intent intent = new Intent();
                            intent.setAction("refresh");
                            OpenUrlActivity.this.sendBroadcast(intent);
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }

                    @Override
                    public void progressData(int i) {
                    }

                    @Override
                    public void failed(Throwable throwable) {
                        throwable.printStackTrace();
                                         }
                });

0 个答案:

没有答案