《Android MVPArms 使用butterknife遇到的坑》
生活随笔
收集整理的這篇文章主要介紹了
《Android MVPArms 使用butterknife遇到的坑》
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、感謝
需要感謝JessYan大神的框架。
二、此處有坑,做個記錄。
使用butterknife時出現view對象有實例化,點擊事件也有問題,自己findbyId又是可以。
2019-04-16 11:50:10.889 25584-25584/dashuai.yy.mvparms.smartcampus E/AndroidRuntime: FATAL EXCEPTION: mainProcess: dashuai.yy.mvparms.smartcampus, PID: 25584java.lang.RuntimeException: Unable to start activity ComponentInfo{dashuai.yy.mvparms.smartcampus/dashuai.yy.mvparms.smartcampus.mvp.ui.activity.ChangePSDActivity}: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter $receiverat android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3303)at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411)at android.app.ActivityThread.-wrap12(Unknown Source:0)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994)at android.os.Handler.dispatchMessage(Handler.java:108)at android.os.Looper.loop(Looper.java:166)at android.app.ActivityThread.main(ActivityThread.java:7529)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter $receiverat com.jakewharton.rxbinding3.view.RxView__ViewClickObservableKt.clicks(Unknown Source:2)at com.jakewharton.rxbinding3.view.RxView.clicks(Unknown Source:1)at dashuai.yy.mvparms.smartcampus.mvp.ui.activity.ChangePSDActivity.btnClick(ChangePSDActivity.java:89)at dashuai.yy.mvparms.smartcampus.mvp.ui.activity.ChangePSDActivity.initData(ChangePSDActivity.java:79)at com.jess.arms.base.BaseActivity.onCreate(BaseActivity.java:109)at dashuai.yy.mvparms.smartcampus.mvp.ui.activity.ChangePSDActivity.onCreate(ChangePSDActivity.java:156)at android.app.Activity.performCreate(Activity.java:7383)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218)at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3256)at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411)?at android.app.ActivityThread.-wrap12(Unknown Source:0)?at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994)?at android.os.Handler.dispatchMessage(Handler.java:108)?at android.os.Looper.loop(Looper.java:166)?at android.app.ActivityThread.main(ActivityThread.java:7529)?at java.lang.reflect.Method.invoke(Native Method)?at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)?at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)?三、分析
1.看錯誤日志的話,是kotlin引起的,但是并沒有使用kotlin;
2.有可能是id找不到,但是清單配置文件里面是有這個id,并且也只用一個文件,不存在重復或缺失的問題;
3.butterknift環境配置問題,檢查了好幾遍也不是這個問題;
4.回到id是不是有問題。因為使用MVPArms的toolbar,在使用butterknift的時候,會自動生成注解代碼。于是問題找到了,toolbar這幾行代碼影響了view的實例化。
/*** 需要注釋掉*/ // @BindView(R.id.toolbar) // Toolbar toolbar;@BindView(R.id.toolbar_back)RelativeLayout toolbarBack;@BindView(R.id.toolbar_title)TextView toolbarTitle;@BindView(R.id.etPhone)EditText etPhone;@BindView(R.id.etNewPSD)EditText etNewPSD;@BindView(R.id.etNewAgainPSD)EditText etNewAgainPSD;@BindView(R.id.confirms)Button confirms;內心惆悵,半天時間就這樣過去了!
總結
以上是生活随笔為你收集整理的《Android MVPArms 使用butterknife遇到的坑》的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse新发现功能之dos和ter
- 下一篇: unity读取Text