kotlin

kotlin开发中遇到的问题

2019-06-21  本文已影响7人  仕明同学

1、Fragment中调用getActivity为null的问题

Fragment中调用getActivity为null的问题,没有销毁Activity,一直在前台
我还是想不明白这个为啥为null
Activity肯定是没有销毁的 就是 ViewPager+Adapter

image.png
image.png

发现 lazyLoad() 加载的时机比onAttach()还早

打个日志


image.png
image.png

得出的结果就是在某一次的时候肯定会进来,是谁引起的

image.png image.png

点击上面切换Tab 去加载fragment的时候引起的

Fragment中调用getActivity为null的问题,完美解决

2、data class 中的某些元素始终为固定值,但是我需要手动添加一些特殊的Item

image.png

3、在fragment+ViewPager的使用过程中,最好不要在init方法中去mPresenter.attachView(this),当然在Activity中这样去使用是没有问题的

image.png image.png

4、mvpView肯定不为null,为什么还是抛出06-18 16:41:43.890 8931-8931/? E/BasePresenter: kotlin.KotlinNullPointerException

06-18 16:41:43.890 8931-8931/? E/BasePresenter: kotlin.KotlinNullPointerException
        at com.xfxb.paperless.mvp.presenter.MainPresenter$updateProduceVoiceRemind$disposable$1.accept(MainPresenter.kt:34)
        at com.xfxb.paperless.mvp.presenter.MainPresenter$updateProduceVoiceRemind$disposable$1.accept(MainPresenter.kt:26)
        at io.reactivex.internal.observers.LambdaObserver.onNext(LambdaObserver.java:63)
        at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201)
        at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255)
        at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:119)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5001)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
        at dalvik.system.NativeStart.main(Native Method)
image.png image.png

5、data Class 和java Bean互用的问题

image.png
06-19 17:56:16.390 29637-29637/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.xfxb.paperless.prd.debug, PID: 29637
    java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter chocoBoard
        at com.xfxb.paperless.mvp.model.bean.SkuPackDetailInfo.<init>(PackagerOrderDetailResponseBean.kt)
        at com.xfxb.paperless.weight.TipDialog$3.onClick(TipDialog.java:178)
        at android.view.View.performClick(View.java:4453)
        at android.view.View$PerformClick.run(View.java:18514)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5001)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:736)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:570)
        at dalvik.system.NativeStart.main(Native Method)
image.png

6、如果对kotlin 一个null的对象进行强转的话,后续代码不会执行

  val orderId= MemoryCache.getInstance().get(MemoryCache.SELECTED_ORDER_ID) as String

上一篇 下一篇

猜你喜欢

热点阅读