1. 程式人生 > >適配平板和手機端時注意事項

適配平板和手機端時注意事項

在適配平板和手機佈局時,經常會建立幾種不同的佈局。完了執行時butterknife會報空指標,用死方法一個個抓到最後才指向

Caused by: java.lang.IllegalStateException: Required view 'ivGoodListStyle' with ID 2131690022 for field 'ivGoodListStyle' and method 'setOnClick' was not found. If this view is optional add '@Nullable' (fields) or '@Optional' (methods) annotation.
                                                                        at butterknife.internal.Utils.findRequiredView(Utils.java:92)
                                                                        at org.chuangpai.e.shop.mvp.ui.activity.GoodsListActivity_ViewBinding.<init>(GoodsListActivity_ViewBinding.java:103)
                                                                        at java.lang.reflect.Constructor.newInstance0(Native Method)
                                                                        at java.lang.reflect.Constructor.newInstance(Constructor.java:334)
                                                                        at butterknife.ButterKnife.createBinding(ButterKnife.java:199)
                                                                        at butterknife.ButterKnife.bind(ButterKnife.java:124)
                                                                        at org.chuangpai.e.shop.mvp.ui.activity.GoodsListActivity.onCreate(GoodsListActivity.java:1023)
                                                                        at android.app.Activity.performCreate(Activity.java:6980)
                                                                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1213)
                                                                        at cn.jiguang.a.a.d.a.a.d.callActivityOnCreate(Unknown Source:24)
                                                                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2770)
                                                                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) 
                                                                        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
                                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) 
                                                                        at android.os.Handler.dispatchMessage(Handler.java:105) 
                                                                        at android.os.Looper.loop(Looper.java:164) 
                                                                        at android.app.ActivityThread.main(ActivityThread.java:6540) 
                                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                                        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 

這個錯誤,原因是適配時兩個xml佈局控制元件不一致導致。不管是 layout 還是large layout,都必須一致,不然就會報空