Попытка вызвать виртуальный метод «void android.view.ViewGroup.transformMatrixToLocal(android.graphics.Matrix)» для нулевой ссылки на объект

На самом деле, я использую переход общих элементов в своем коде. Журнал ошибок, пойманный youmeng:

java.lang.NullPointerException: попытка вызвать виртуальный метод «void android.view.ViewGroup.transformMatrixToLocal (android.graphics.Matrix)» для нулевой ссылки на объект в android.app.ActivityTransitionCoordinator.null setSharedElementMatrices (null) (ActivityTransitionCoordinator.java: 505) в android.app.ActivityTransitionCoordinator.null moveSharedElementsToOverlay(null)(ActivityTransitionCoordinator.java:794) в android.app.EnterTransitionCoordinator$3.null onPreDraw(null)(EnterTransitionCoordinator.java:204) в android.view.ViewTreeObserver.null dispatchOnPreDraw (null)(ViewTreeObserver.java:944) в android.view.ViewRootImpl.null PerformTraversals(null)(ViewRootImpl.java:2055) в android.view.ViewRootImpl.null doTraversal(null)(ViewRootImpl.java:1107) в android .view.ViewRootImpl$TraversalRunnable.null run(null)(ViewRootImpl.java:6013) в android.view.Choreographer$CallbackRecord.null run(null)(Choreographer.java:858) в android.v iew.Choreographer.null doCallbacks(null)(Choreographer.java:670) в android.view.Choreographer.null doFrame(null)(Choreographer.java:606) в android.view.Choreographer$FrameDisplayEventReceiver.null run(null)( Choreographer.java:844) в android.os.Handler.null handleCallback(null)(Handler.java:739) в android.os.Handler.null dispatchMessage(null)(Handler.java:95) в android.os.Looper .null loop(null)(Looper.java:148) в android.app.ActivityThread.null main(null)(ActivityThread.java:5417) в java.lang.reflect.Method.null invoke(null)(Method.java ) в com.android.internal.os.ZygoteInit$MethodAndArgsCaller.null run(null)(ZygoteInit.java:726) в com.android.internal.os.ZygoteInit.null main(null)(ZygoteInit.java:616)

Я просмотрел версии устройства, которые не центрированы, в том числе 6.0, 7.0 и 8.0. И модели устройств тоже не отцентрованы.

Вот мой код:

override fun onLoadUrl(url: String, source: String, imageView: ImageView?, drawableRes: Int) {
        val tabBean = MultiWindowManager.getForegroundTab()!!
        val transaction = supportFragmentManager
                .beginTransaction()
        var fragment = supportFragmentManager
                .findFragmentByTag(tabBean.tabId) as? WebFragment
        if (fragment != null) {
            transaction.show(fragment).commitAllowingStateLoss()
            fragment.loadUrl(url, source)
        } else {
            fragment = WebFragment.newInstance(url, tabBean.tabId, source, drawableRes)
            if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
                fragment.sharedElementEnterTransition = DetailTransition()
                fragment.exitTransition = Fade()
                fragment.enterTransition = Fade()
                fragment.sharedElementReturnTransition = DetailTransition()
            }
            transaction.remove(mainFragment)
            transaction.add(R.id.frameContainer, fragment, tabBean.tabId)
            imageView?.let {
                transaction.addSharedElement(it, getString(R.string.shared_recommend))
            }
            transaction.commitAllowingStateLoss()
        }
        webFragment = fragment
        updateFragmentType(FRAGMENT_WEB)
    }

DetailTransition.java:

@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public class DetailTransition extends TransitionSet {
    public DetailTransition() {
        init();
    }

    public DetailTransition(Context context, AttributeSet attrs) {
        super(context, attrs);
        init();
    }

    private void init() {
        setOrdering(ORDERING_TOGETHER);
        addTransition(new ChangeBounds()).
                addTransition(new ChangeTransform()).
                addTransition(new ChangeImageTransform());
    }
}

Я ожидаю, что я больше не могу видеть эту ошибку.


person wang willway    schedule 09.10.2019    source источник


Ответы (1)


Службы Google Play, возможно, должны быть обновлены в вашей системе сборки, я столкнулся с аналогичной проблемой, когда QR-сканер не работал, пока службы игры не были обновлены с помощью сборки Gradle, а затем подобного исключения не было вообще.

person Jay    schedule 09.10.2019
comment
это очень любопытно - person wang willway; 09.10.2019
comment
:) 1 рад быть полезным - person Jay; 09.10.2019