gpt4 book ai didi

android - 为什么BottomSheetBehavior抛出java.lang.IllegalArgumentException : Illegal state argument: 2 when I'm trying to set state to STATE_SETTLING

转载 作者:行者123 更新时间:2023-12-03 10:12:19 34 4
gpt4 key购买 nike

我有一种方法可以对 map 单击采取措施,当我单击 map 时,该方法试图将状态设置为STATE_SETTLING,但它会抛出IllegalArgumentException
我已经检查了它是否不在STATE_HIDDENSTATE_SETTLING中的状态,并且isHideabletrue,但是它正在抛出java.lang.IllegalArgumentException: Illegal state argument: 2
。我试图将状态设置为STATE_EXPANDEDSTATE_HALF_EXPENDED,这些状态运行良好,但不是我想要的。

fun onMapClickListener(zonesViewModel: ZonesViewModel){
if(zonesViewModel.merchantInfoBottomLayout!!.state != BottomSheetBehavior.STATE_HIDDEN || zonesViewModel.merchantInfoBottomLayout!!.state != BottomSheetBehavior.STATE_SETTLING){
zonesViewModel.merchantInfoBottomLayout!!.isHideable = true
zonesViewModel.merchantInfoBottomLayout!!.state = BottomSheetBehavior.STATE_SETTLING
}

}
}

崩溃日志:

E/AndroidRuntime:致命异常:main
java.lang.IllegalArgumentException:非法状态参数:2
在android.support.design.widget.BottomSheetBehavior.startSettlingAnimation(BottomSheetBehavior.java:755)
在android.support.design.widget.BottomSheetBehavior.setState(BottomSheetBehavior.java:650)
位于...... * .. MerchantsZoneLocationHandler.onMapClickListener(MerchantsZoneLocationHandler.kt:171)
在...... *。ZonesFragment $ setupMerchantsComponents $ 2.onMapClick(ZonesFragment.kt:119)
在com.mapbox.mapboxsdk.maps.MapGestureDetector.notifyOnMapClickListeners(MapGestureDetector.java:882)
在com.mapbox.mapboxsdk.maps.MapGestureDetector $ StandardGestureListener.onSingleTapConfirmed(MapGestureDetector.java:327)处
at com.mapbox.android.gestures.StandardGestureDetector $ 1.onSingleTapConfirmed(StandardGestureDetector.java:81)
在android.view.GestureDetector $ GestureHandler.handleMessage(GestureDetector.java:300)
在android.os.Handler.dispatchMessage(Handler.java:102)
在android.os.Looper.loop(Looper.java:165)
在android.app.ActivityThread.main(ActivityThread.java:6375)
在java.lang.reflect.Method.invoke( native 方法)
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:912)
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)

最佳答案

问题解决了,我需要稍微更改一下代码,而我尝试将状态设置为STATE_SETTLING时会抛出IllegalArgumentException,我只是将代码更改为zonesViewModel.merchantInfoBottomLayout!!.state = BottomSheetBehavior.STATE_COLLAPSED而不是zonesViewModel.merchantInfoBottomLayout!!.state = BottomSheetBehavior.STATE_SETTLING

关于android - 为什么BottomSheetBehavior抛出java.lang.IllegalArgumentException : Illegal state argument: 2 when I'm trying to set state to STATE_SETTLING,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56683264/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com