Преглед изворни кода

风险管理11月26日提交代码-liu.bolan-天津麦顿bug

Liu.bolan пре 4 година
родитељ
комит
fae0704107

+ 2 - 2
RMA/app/build.gradle

@@ -19,8 +19,8 @@ android {
         applicationId "cn.muchinfo.rma"
         minSdkVersion 24
         targetSdkVersion 30
-        versionCode 50039
-        versionName "5.0.39"
+        versionCode 50040
+        versionName "5.0.40"
         multiDexEnabled true
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         //指定room.schemaLocation生成的文件路径

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/app/Constant.kt

@@ -7,7 +7,7 @@ object Constant {
      * 获取基础url的接口
      */
 //    const val baseurl = "http://103.40.249.123:38280/cfg?key=mtp_20" // 天津麦顿
-//    const val baseurl = "http://103.40.249.123:28280/cfg?key=mtp_20"//云融大宗
+    const val baseurl = "http://103.40.249.123:28280/cfg?key=mtp_20"//云融大宗
 //    const val baseurl = "http://103.40.249.123:8280/cfg?key=mtp_20"//千海金外盘
 //    const val baseurl = "http://103.40.249.127:28280/cfg?key=mtp_20"
 
@@ -19,7 +19,7 @@ object Constant {
 //
 //    const val baseurl = "http://192.168.31.204:8080/cfg?key=test_204"// 瑶姐 云融 190000000001 123456
 //    const val baseurl = "http://192.168.31.202:8080/cfg?key=test_202"// 瑶姐 云融 190000000001 123456
-    const val baseurl = "http://192.168.31.205:8080/cfg?key=test_205"// 瑶姐 云融 190000000001 123456
+//    const val baseurl = "http://192.168.31.205:8080/cfg?key=test_205"// 瑶姐 云融 190000000001 123456
 //    const val baseurl = "http://192.168.31.201:8080/cfg?key=test_201"// 邓工 千海金
 
 //    const val baseurl = "http://192.168.31.175:8080/cfg?key=test_175" // 8888  123123

+ 25 - 7
RMA/app/src/main/java/cn/muchinfo/rma/view/base/hnstmain/HnstMainFragment.kt

@@ -854,7 +854,11 @@ class HnstMainFragment : BaseFragment<HnstMainViewmodel>() {
 
                             //预售仓单
                             verticalLayout {
-                                visibility = View.GONE//任务 2621
+                                visibility = if (SPUtils.getInstance().getString(Constant.oem) == "tjmd"){
+                                    View.GONE//任务 2621
+                                }else{
+                                    View.VISIBLE
+                                }
                                 onThrottleFirstClick {
                                     val intent = Intent()
                                     intent.setClass(context, BookingWarehouseActivity::class.java)
@@ -878,7 +882,11 @@ class HnstMainFragment : BaseFragment<HnstMainViewmodel>() {
 
                             //商品订单
                             verticalLayout {
-                                visibility = View.GONE//任务 2621
+                                visibility = if (SPUtils.getInstance().getString(Constant.oem) == "tjmd"){
+                                    View.GONE//任务 2621
+                                }else{
+                                    View.VISIBLE
+                                }
                                 onThrottleFirstClick {
                                     val intent = Intent()
                                     intent.putExtra("type","1")
@@ -1007,7 +1015,11 @@ class HnstMainFragment : BaseFragment<HnstMainViewmodel>() {
                         itemView()
 
                         linearLayout {
-                            visibility = View.GONE//任务 2621
+                            visibility = if (SPUtils.getInstance().getString(Constant.oem) == "tjmd"){
+                                View.GONE//任务 2621
+                            }else{
+                                View.VISIBLE
+                            }
                             onThrottleFirstClick {
                                 val intent = Intent()
                                 intent.setClass(context, FinanceManagementActivity::class.java)
@@ -1057,7 +1069,11 @@ class HnstMainFragment : BaseFragment<HnstMainViewmodel>() {
 //                        itemView()
 
                         linearLayout {
-                            visibility = View.GONE//任务 2621
+                            visibility = if (SPUtils.getInstance().getString(Constant.oem) == "tjmd"){
+                                View.GONE//任务 2621
+                            }else{
+                                View.VISIBLE
+                            }
                             onThrottleFirstClick {
                                 val intent = Intent()
                                 intent.setClass(context, PerformanceTemplateActivity::class.java)
@@ -1163,7 +1179,11 @@ class HnstMainFragment : BaseFragment<HnstMainViewmodel>() {
 //                        itemView()
 
                         linearLayout {
-                            visibility = View.GONE//任务 2621
+                            visibility = if (SPUtils.getInstance().getString(Constant.oem) == "tjmd"){
+                                View.GONE//任务 2621
+                            }else{
+                                View.VISIBLE
+                            }
                             onThrottleFirstClick {
                                 val intent = Intent()
                                 intent.setClass(context, MainFriendActivity::class.java)
@@ -1479,8 +1499,6 @@ class HnstMainFragment : BaseFragment<HnstMainViewmodel>() {
                                 textColorInt = R.color.buy_title_bg_color
                             }.lparams(wrapContent, wrapContent)
                         }.lparams(matchParent, autoSize(140))
-
-
                     }.lparams(
                         matchParent,
                         matchParent

+ 2 - 2
RMA/app/src/main/java/cn/muchinfo/rma/view/base/hnstmain/friend/MainFriendActivity.kt

@@ -65,7 +65,7 @@ class MainFriendActivity : BaseActivity<MainFriendViewModel>(){
                     textSizeAuto = 31
                     inputType = EditorInfo.TYPE_CLASS_NUMBER
                     textColorStr = "#333333"
-                }.lparams(0, autoSize(80),1f)
+                }.lparams(0, autoSize(100),1f)
 
                 imageView {
                     onThrottleFirstClick {
@@ -89,7 +89,7 @@ class MainFriendActivity : BaseActivity<MainFriendViewModel>(){
                     }.lparams(wrapContent, wrapContent)
                 }.lparams(autoSize(120), autoSize(80))
 
-            }.lparams(matchParent, autoSize(80)){
+            }.lparams(matchParent, autoSize(100)){
                 marginStart = autoSize(36)
                 marginEnd = autoSize(36)
                 topMargin = autoSize(36)

+ 48 - 28
RMA/app/src/main/java/cn/muchinfo/rma/view/base/home/InformationDetailsActivity.kt

@@ -17,16 +17,13 @@ import com.tencent.smtt.sdk.WebChromeClient
 import com.tencent.smtt.sdk.WebSettings
 import com.tencent.smtt.sdk.WebView
 import com.tencent.smtt.sdk.WebViewClient
+import org.jetbrains.anko.*
 import org.jetbrains.anko.custom.ankoView
-import org.jetbrains.anko.matchParent
-import org.jetbrains.anko.textView
-import org.jetbrains.anko.verticalLayout
-import org.jetbrains.anko.wrapContent
 
 /**
  * 资讯详情
  */
-class InformationDetailsActivity : BaseActivity<HomeViewModel>(){
+class InformationDetailsActivity : BaseActivity<HomeViewModel>() {
 
     lateinit var itemView1: X5WebView
 
@@ -48,7 +45,7 @@ class InformationDetailsActivity : BaseActivity<HomeViewModel>(){
                 text = data.title
                 textSizeAuto = 36
                 textColorInt = R.color.rma_black_33
-            }.lparams(wrapContent, wrapContent){
+            }.lparams(wrapContent, wrapContent) {
                 marginStart = autoSize(36)
                 topMargin = autoSize(30)
             }
@@ -57,7 +54,7 @@ class InformationDetailsActivity : BaseActivity<HomeViewModel>(){
                 text = data.publishdate?.toShowTime3("yyyy-MM-dd")
                 textSizeAuto = 26
                 textColorInt = R.color.rma_hint_text_color_ccc
-            }.lparams(wrapContent, wrapContent){
+            }.lparams(wrapContent, wrapContent) {
                 marginStart = autoSize(36)
                 topMargin = autoSize(15)
             }
@@ -69,7 +66,13 @@ class InformationDetailsActivity : BaseActivity<HomeViewModel>(){
                 var isLoadingOver = false
 
                 try {
-                    val newContent = HtmlUtils.replaceHtmlTag(data.context, "img", "src", "src=\"" + SPUtils.getInstance().getString(Constant.openApiUrl), "\"")
+                    val newContent = HtmlUtils.replaceHtmlTag(
+                        data.context,
+                        "img",
+                        "src",
+                        "src=\"" + SPUtils.getInstance().getString(Constant.openApiUrl),
+                        "\""
+                    )
                     loadData(newContent, "text/html", "utf-8")
 //                                Handler().postDelayed({
 //                                    loadDataWithBaseURL(null, HtmlFormat.getNewContent(newContent),"text/html","utf-8",null)
@@ -81,9 +84,15 @@ class InformationDetailsActivity : BaseActivity<HomeViewModel>(){
                 settings.layoutAlgorithm = WebSettings.LayoutAlgorithm.SINGLE_COLUMN
                 settings.cacheMode = WebSettings.LOAD_NO_CACHE
                 settings.setUserAgentString("user-agent-string")
-                settings.setBuiltInZoomControls(false)
-                settings.setSupportZoom(false)
+                settings.textSize = WebSettings.TextSize.LARGEST
+                settings.textZoom = 250
+                settings.setBuiltInZoomControls(true)
+                settings.setSupportZoom(true)
+                settings.useWideViewPort = true
+                settings.loadWithOverviewMode = true
                 settings.setDisplayZoomControls(false)
+
+
                 setWebChromeClient(object : WebChromeClient() {
                     override fun onReceivedTitle(view: WebView?, title: String?) {
 
@@ -95,29 +104,39 @@ class InformationDetailsActivity : BaseActivity<HomeViewModel>(){
                         }
                     }
                 })
-                setWebViewClient(object : WebViewClient(){
+                setWebViewClient(object : WebViewClient() {
                     override fun onPageFinished(view: WebView?, p1: String?) {
                         super.onPageFinished(view, p1)
                         //修改图片大小
-                        val screenWidth = ScreenUtils.getScreenWidth().toString()
+                        if (data.context?.contains("src=") == true){
+                            val screenWidth = ScreenUtils.getScreenWidth().toString()
 //                        val width =  SizeUtils.dp2px(50f).toString()
 //                        val width2 =  SizeUtils.px2dp(screenWidth.toFloat()).toString()
-                        LogUtils.eTag("contentHeight111112",screenWidth)
-                        val javascript = "javascript:function ResizeImages() {" +
-                                "var myimg,oldwidth;" +
-                                "var maxwidth = document.body.clientWidth;" +
-                                "for(i=0;i <document.images.length;i++){" +
-                                "myimg = document.images[i];" +
-                                "if(myimg.width > "+screenWidth+"){" +
-                                "oldwidth = myimg.width;" +
-                                "myimg.width ="+screenWidth+";" +
-                                "}" +
-                                "}" +
-                                "}";
-                        view?.loadUrl(javascript);
-                        view?.loadUrl("javascript:ResizeImages();")
-
-                        itemView1.layoutParams = LinearLayout.LayoutParams(matchParent, autoSize(view?.contentHeight?.div(0.9)?.toFloat()!!))
+//                        LogUtils.eTag("contentHeight111112",screenWidth)
+                            val javascript = "javascript:function ResizeImages() {" +
+                                    "var myimg,oldwidth;" +
+                                    "var maxwidth = document.body.clientWidth;" +
+                                    "for(i=0;i <document.images.length;i++){" +
+                                    "myimg = document.images[i];" +
+                                    "if(myimg.width > " + screenWidth + "){" +
+                                    "oldwidth = myimg.width;" +
+                                    "myimg.width =" + screenWidth + ";" +
+                                    "}" +
+                                    "}" +
+                                    "}";
+                            view?.loadUrl(javascript);
+                            view?.loadUrl("javascript:ResizeImages();")
+
+                            itemView1.layoutParams = LinearLayout.LayoutParams(
+                                matchParent,
+                                autoSize(view?.contentHeight?.div(0.9)?.toFloat()!!)
+                            )
+                            LogUtils.eTag(
+                                "contentHeight111112",
+                                autoSize(view.contentHeight.div(0.9).toFloat())
+                            )
+                        }
+
                     }
                 })
 
@@ -148,6 +167,7 @@ class InformationDetailsActivity : BaseActivity<HomeViewModel>(){
 //
 //                })
             }.lparams(matchParent, wrapContent)
+
         }
     }
 

+ 7 - 4
RMA/app/src/main/java/cn/muchinfo/rma/view/base/platinumtreasure/PlatinumTreasureFragment.kt

@@ -1,5 +1,6 @@
 package cn.muchinfo.rma.view.base.platinumtreasure
 
+import android.annotation.SuppressLint
 import android.os.Bundle
 import android.view.*
 import androidx.recyclerview.widget.LinearLayoutManager
@@ -24,6 +25,7 @@ import org.jetbrains.anko.support.v4.UI
 /**
  * 铂金宝fragment
  */
+@Suppress("DEPRECATION")
 class PlatinumTreasureFragment : BaseFragment<PlatinumTreasureViewModel>() , PlatnumTreasureAdapter.OnContentScrollListener{
 
     private lateinit var swipeToLayout: SwipeToLoadLayout
@@ -82,13 +84,14 @@ class PlatinumTreasureFragment : BaseFragment<PlatinumTreasureViewModel>() , Pla
 
     }
 
+    @SuppressLint("RtlHardcoded")
     override fun onCreateView(
         inflater: LayoutInflater,
         container: ViewGroup?,
         savedInstanceState: Bundle?
     ): View? {
         return UI {
-            viewModel.initData(tag = thisTag ?: ""){isCompleted, err ->
+            viewModel.initData(tag = thisTag ?: ""){ isCompleted, _ ->
                  if (isCompleted){
                      platnumTreasureAdapter.notifyDataSetChanged()
                  }
@@ -134,7 +137,7 @@ class PlatinumTreasureFragment : BaseFragment<PlatinumTreasureViewModel>() , Pla
                     platnumTreasureAdapter.setOnContentScrollListener(this@PlatinumTreasureFragment)
                     inflateLayout<CustomHorizontalScrollView>(R.layout.scrollview) {
                         horScrollview = this
-                        setOnCustomScrollChangeListener { listener, scrollX, scrollY, oldScrollX, oldScrollY -> //代码重复,可以抽取/////
+                        setOnCustomScrollChangeListener { _, scrollX, _, _, _ -> //代码重复,可以抽取/////
                             platnumTreasureAdapter.offestX = scrollX
                             val viewHolderCacheList: List<PlatnumTreasureAdapter.ItemViewHolder> =
                                 platnumTreasureAdapter.viewHolderCacheList
@@ -184,7 +187,7 @@ class PlatinumTreasureFragment : BaseFragment<PlatinumTreasureViewModel>() , Pla
                                 first = fistShow,
                                 last = lastShow,
                                 list = viewModel.demoList.value ?: arrayListOf()
-                            ) { isCompleted, err ->
+                            ) { isCompleted, _ ->
                                 if (isCompleted) {
                                     if (swipeToLayout.getIsRefreshing()) {
                                         swipeToLayout.finishRefresh()
@@ -221,7 +224,7 @@ class PlatinumTreasureFragment : BaseFragment<PlatinumTreasureViewModel>() , Pla
                                 override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
                                     super.onScrollStateChanged(recyclerView, newState)
                                     // DES: 找出当前可视Item位置
-                                    val linearLayoutManager = dataRecyclerview!!.layoutManager as LinearLayoutManager
+                                    val linearLayoutManager = dataRecyclerview.layoutManager as LinearLayoutManager
                                     if (newState == RecyclerView.SCROLL_STATE_IDLE) {// 这个判断是当recyclerview不滚动时
                                         fistShow = linearLayoutManager.findFirstVisibleItemPosition()//获取第一个显示条目
                                         lastShow = linearLayoutManager.findLastVisibleItemPosition()//获取最后一个显示条目

+ 10 - 11
RMA/app/src/main/java/cn/muchinfo/rma/view/base/tjmd/GoodsSwapsUI.kt

@@ -20,6 +20,7 @@ import org.jetbrains.anko.*
  * @property viewModel TjmdMarketViewModel
  * @constructor
  */
+@Suppress("DEPRECATION")
 class GoodsSwapsUI(private val fragment: Fragment, private val viewModel: TjmdMarketViewModel) :
     TransferSwapsAdapter.OnContentScrollListener {
 
@@ -115,7 +116,7 @@ class GoodsSwapsUI(private val fragment: Fragment, private val viewModel: TjmdMa
                 transferSwapsAdapter.setOnContentScrollListener(this@GoodsSwapsUI)
                 inflateLayout<CustomHorizontalScrollView>(R.layout.scrollview) {
                     horScrollview = this
-                    setOnCustomScrollChangeListener { listener, scrollX, scrollY, oldScrollX, oldScrollY -> //代码重复,可以抽取/////
+                    setOnCustomScrollChangeListener { _, scrollX, _, _, _ -> //代码重复,可以抽取/////
                         transferSwapsAdapter.offestX = scrollX
                         val viewHolderCacheList: List<TransferSwapsAdapter.ItemViewHolder> =
                             transferSwapsAdapter.viewHolderCacheList
@@ -173,11 +174,11 @@ class GoodsSwapsUI(private val fragment: Fragment, private val viewModel: TjmdMa
                     setEnableLoadMore(false)
                     setOnRefreshListener {
                         viewModel.queryQuoteDay(
-                            tag = thisTag ?: "",
+                            tag = thisTag,
                             first = fistShow,
                             last = lastShow,
                             list = viewModel.swapsDataList.value ?: arrayListOf()
-                        ) { isCompleted, err ->
+                        ) { isCompleted, _ ->
                             if (isCompleted) {
                                 if (swipeToLayout.getIsRefreshing()) {
                                     swipeToLayout.finishRefresh()
@@ -218,7 +219,7 @@ class GoodsSwapsUI(private val fragment: Fragment, private val viewModel: TjmdMa
                                 super.onScrollStateChanged(recyclerView, newState)
                                 // DES: 找出当前可视Item位置
                                 val linearLayoutManager =
-                                    dataRecyclerview!!.layoutManager as LinearLayoutManager
+                                    dataRecyclerview.layoutManager as LinearLayoutManager
                                 if (newState == RecyclerView.SCROLL_STATE_IDLE) {// 这个判断是当recyclerview不滚动时
                                     fistShow =
                                         linearLayoutManager.findFirstVisibleItemPosition()//获取第一个显示条目
@@ -226,11 +227,11 @@ class GoodsSwapsUI(private val fragment: Fragment, private val viewModel: TjmdMa
                                         linearLayoutManager.findLastVisibleItemPosition()//获取最后一个显示条目
                                     if (fistShow != -1 && lastShow != -1) {
                                         viewModel.queryQuoteDay(
-                                            tag = thisTag ?: "",
+                                            tag = thisTag,
                                             first = fistShow,
                                             last = lastShow,
                                             list = viewModel.swapsDataList.value ?: arrayListOf()
-                                        ) { isCompleted, err ->
+                                        ) { isCompleted, _ ->
                                             if (isCompleted) {
                                                 dataRecyclerview.adapter?.notifyItemRangeChanged(
                                                     fistShow,
@@ -243,18 +244,16 @@ class GoodsSwapsUI(private val fragment: Fragment, private val viewModel: TjmdMa
                             }
                         })
                     }
-
-
                 }
             }, emptyBlock = {
                 emptyView(hint = resources.getString(R.string.now_no_data))
             }).lparams(matchParent, matchParent)
 
             viewModel.swapsDataList.bindOptional(context) {
-                if (it?.size ?: 0 > 10) {
-                    lastShow = 10
+                lastShow = if (it?.size ?: 0 > 10) {
+                    10
                 } else {
-                    lastShow = it?.size ?: 0
+                    it?.size ?: 0
                 }
                 if (it?.isEmpty() == true || it?.size == 0) {
                     statusLayout.showEmpty()

+ 3 - 5
RMA/app/src/main/java/cn/muchinfo/rma/view/base/tjmd/HnstcdysUI.kt

@@ -1,5 +1,6 @@
 package cn.muchinfo.rma.view.base.tjmd
 
+import android.annotation.SuppressLint
 import android.os.Build
 import android.view.Gravity
 import android.view.MotionEvent
@@ -14,7 +15,6 @@ import androidx.viewpager.widget.ViewPager
 import cn.muchinfo.rma.R
 import cn.muchinfo.rma.lifecycle.bindOptional
 import cn.muchinfo.rma.view.autoWidget.*
-import cn.muchinfo.rma.view.base.hnstcdys.HnstcdysViewModel
 import cn.muchinfo.rma.view.base.procurement.TopTabAdpater
 import cn.muchinfo.rma.view.base.procurement.TopTabYrdzAdpater
 import cn.muchinfo.rma.view.base.warehousereceipt.circle.TradeCircleContentAdapter
@@ -51,6 +51,7 @@ class CDYSOnePriceUI(private val fragment : Fragment, private val viewModel: Tjm
         OnePriceAdapter(fragment.context,"2")
     }
 
+    @SuppressLint("RtlHardcoded")
     val root = _FrameLayout(fragment.context!!).apply {
         verticalLayout {
             viewModel.queryysOneOrderQuote(wrstandardid = viewModel.selectWrFtWrstandardData.value?.wrstandardid
@@ -61,9 +62,6 @@ class CDYSOnePriceUI(private val fragment : Fragment, private val viewModel: Tjm
                 linearLayout {
                     gravity = Gravity.LEFT or Gravity.CENTER_VERTICAL
                     textView {//待点价头部左侧数据
-//                            viewModel.titleList.bindOptional(context) {
-//                                text = it?.get(0)?.columntitle?.replace("\\n", "\n") ?: ""
-//                            }
                         text = "品种/商品"
                         textColorStr = "#AAAAAA"
                         textSizeAuto = 31
@@ -74,7 +72,7 @@ class CDYSOnePriceUI(private val fragment : Fragment, private val viewModel: Tjm
                 onePriceAdapter.setOnContentScrollListener(this@CDYSOnePriceUI)
                 inflateLayout<CustomHorizontalScrollView>(R.layout.scrollview) {
                     horScrollview = this
-                    setOnCustomScrollChangeListener { listener, scrollX, scrollY, oldScrollX, oldScrollY -> //代码重复,可以抽取/////
+                    setOnCustomScrollChangeListener { _, scrollX, _, _, _ -> //代码重复,可以抽取/////
                         onePriceAdapter.offestX = scrollX
                         val viewHolderCacheList: List<OnePriceAdapter.ItemViewHolder> =
                             onePriceAdapter.viewHolderCacheList

+ 27 - 54
RMA/app/src/main/java/cn/muchinfo/rma/view/base/tjmd/TjmdMarketViewModel.kt

@@ -1,5 +1,6 @@
 package cn.muchinfo.rma.view.base.tjmd
 
+import android.annotation.SuppressLint
 import androidx.lifecycle.MutableLiveData
 import cn.muchinfo.rma.global.GlobalDataCollection
 import cn.muchinfo.rma.global.data.*
@@ -104,7 +105,7 @@ class TjmdMarketViewModel : BaseViewModel(){
                 put("dgitemname",dgitemname)
             }
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 circleBuyContentDataList.postValue(getcircleContentDataListRightData(respData ?: arrayListOf()))
             }
@@ -126,7 +127,7 @@ class TjmdMarketViewModel : BaseViewModel(){
                 put("dgitemname",dgitemname)
             }
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 if (respData.isNullOrEmpty().not()){
                     circleDataByListed.postValue(respData?.get(0))
@@ -155,7 +156,7 @@ class TjmdMarketViewModel : BaseViewModel(){
             }
             put("deliverygoodsid",getDeliveryGoodsIDByWRStandardID(wrstandardid))
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 if (respData.isNullOrEmpty().not()){
                     circleDataByListed.postValue(respData?.get(0))
@@ -181,7 +182,7 @@ class TjmdMarketViewModel : BaseViewModel(){
                 put("dgitemname",dgitemname)
             }
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 circleSellContentDataList.postValue(getcircleContentDataListRightData(respData ?: arrayListOf()))
             }
@@ -240,35 +241,6 @@ class TjmdMarketViewModel : BaseViewModel(){
 
     /**
      * 持仓挂牌
-     * @param LadingBillId Long
-     * @param TradeDate String
-     * @param SubNum Long
-     * @param WRFactorTypeId Long
-     * @param UserID Int
-     * @param AccountID Long
-     * @param IsSpecified Int
-     * @param MatchAccIDs List<Long>
-     * @param OrderQty Long
-     * @param DeliveryGoodsID Int
-     * @param WRPriceType Int
-     * @param FixedPrice Double
-     * @param WRTradeGoods WRGoodsInfo
-     * @param PriceFactor Double
-     * @param PriceMove Double
-     * @param TimevalidType Int
-     * @param FirstRatio Double
-     * @param PerformanceTemplateID Long
-     * @param BuyOrSell Int
-     * @param PriceDisplayMode Int
-     * @param CanBargain Int
-     * @param Attachment1 String
-     * @param Attachment2 String
-     * @param Remark String
-     * @param ApplyID Long
-     * @param CanPart Int
-     * @param HasWr Int
-     * @param WRStandardID Int
-     * @param isSuccess Function1<[@kotlin.ParameterName] Boolean, Unit>
      */
     fun requeryWRListingOrderReq(
         LadingBillId: Long = 0,//提单id(wrholdlb的LadingBillId字段),卖的时候填写
@@ -372,7 +344,7 @@ class TjmdMarketViewModel : BaseViewModel(){
             put("deliverygoodsid", data.DeliveryGoodsID ?: "")
             put("wrstandardid",data.WrFtWrstandard?.wrstandardid ?: "")
         }
-        MyApplication.getInstance()?.warehouseManager?.queryHoldLB(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.warehouseManager?.queryHoldLB(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 detailsWarehouseContentDataList.postValue(respData)
             }
@@ -408,7 +380,7 @@ class TjmdMarketViewModel : BaseViewModel(){
     //获取选择的仓库ID和选择的要素类型 是否全部选择
     fun getSelectBooble() : Boolean{
         var selectNum = 0
-        var returnBooble = false
+        var returnBooble: Boolean
         WrStandardFactoryItemDataList.value?.forEach {
             it.itemlst?.forEach { data ->
                 if (data.isSelect == 1){
@@ -427,7 +399,7 @@ class TjmdMarketViewModel : BaseViewModel(){
         val goodsInfoList1 = DataBase.getInstance().goodsInfoDao().all
         goodsInfoList1?.forEach {
             if (it?.goodsgroupid.toString() == goodsgroupid){
-                newGoodsInfoList.add(SelectData(id = it?.goodsid.toString(),value = it?.goodsname.toString(),goodsCode = it.goodscode ?: ""))
+                newGoodsInfoList.add(SelectData(id = it?.goodsid.toString(),value = it?.goodsname.toString(),goodsCode = it.goodscode))
             }
         }
         goodsInfoList.postValue(newGoodsInfoList)
@@ -509,7 +481,7 @@ class TjmdMarketViewModel : BaseViewModel(){
         val params = mutableMapOf<String,String>().apply {
             put("wrstandardid",wrstandardid)
         }
-        MyApplication.getInstance()?.quoteManager?.queryWrStandardFactoryItem(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryWrStandardFactoryItem(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 WrStandardFactoryItemDataList.postValue(respData)
             }
@@ -524,7 +496,7 @@ class TjmdMarketViewModel : BaseViewModel(){
         val params = mutableMapOf<String,String>().apply {
             put("userid", GlobalDataCollection.instance?.loginRsp?.userID.toString())
         }
-        MyApplication.getInstance()?.quoteManager?.queryFtDeliveryGoods(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryFtDeliveryGoods(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 ftDeliveryGoodsDataList.postValue(respData)
             }
@@ -598,7 +570,7 @@ class TjmdMarketViewModel : BaseViewModel(){
             }
         }
 
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 if (respData.isNullOrEmpty().not()){
                     orderQuoteDataByListed.postValue(respData?.get(0))
@@ -630,7 +602,7 @@ class TjmdMarketViewModel : BaseViewModel(){
                 put("dgitemname",dgitemname)
             }
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 onePrcieDataList.postValue(respData)
             }
@@ -656,7 +628,7 @@ class TjmdMarketViewModel : BaseViewModel(){
             }
         }
 
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 if (respData.isNullOrEmpty().not()){
                     orderQuoteDataByListed.postValue(respData?.get(0))
@@ -688,7 +660,7 @@ class TjmdMarketViewModel : BaseViewModel(){
                 put("dgitemname",dgitemname)
             }
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 floatProceDataList.postValue(respData)
                 //说是不订阅行情,靠轮询10秒查
@@ -740,7 +712,7 @@ class TjmdMarketViewModel : BaseViewModel(){
                 put("dgitemname",dgitemname)
             }
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 yscircleBuyContentDataList.postValue(getyscircleContentDataListRightData(respData ?: arrayListOf()))
             }
@@ -764,7 +736,7 @@ class TjmdMarketViewModel : BaseViewModel(){
                 put("dgitemname",dgitemname)
             }
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 if (respData.isNullOrEmpty().not()){
                     circleDataByListed.postValue(respData?.get(0))
@@ -792,7 +764,7 @@ class TjmdMarketViewModel : BaseViewModel(){
                 put("dgitemname",dgitemname)
             }
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 if (respData.isNullOrEmpty().not()){
                     circleDataByListed.postValue(respData?.get(0))
@@ -818,7 +790,7 @@ class TjmdMarketViewModel : BaseViewModel(){
                 put("dgitemname",dgitemname)
             }
         }
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuoteMyq(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 yscircleSellContentDataList.postValue(getyscircleContentDataListRightData(respData ?: arrayListOf()))
             }
@@ -869,7 +841,7 @@ class TjmdMarketViewModel : BaseViewModel(){
             put("wrstandardid",wrstandardid)
             put("dgitemname",dgitemname)
         }
-        MyApplication.getInstance()?.warehouseManager?.queryWrPosition(params = params){ isSuccess, respData, error ->
+        MyApplication.getInstance()?.warehouseManager?.queryWrPosition(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 if (respData?.isNotEmpty() == true){
                     summaryWrPositionDataByDialog.postValue(respData.get(0))
@@ -913,7 +885,7 @@ class TjmdMarketViewModel : BaseViewModel(){
             }
         }
 
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 if (respData.isNullOrEmpty().not()){
                     orderQuoteDataByListed.postValue(respData?.get(0))
@@ -947,7 +919,7 @@ class TjmdMarketViewModel : BaseViewModel(){
             }
         }
 
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 ysonePrcieDataList.postValue(respData)
             }
@@ -976,7 +948,7 @@ class TjmdMarketViewModel : BaseViewModel(){
             }
         }
 
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 if (respData.isNullOrEmpty().not()){
                     orderQuoteDataByListed.postValue(respData?.get(0))
@@ -1011,7 +983,7 @@ class TjmdMarketViewModel : BaseViewModel(){
             }
         }
 
-        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, error ->
+        MyApplication.getInstance()?.quoteManager?.queryOrderQuote(params = params){ isSuccess, respData, _ ->
             if (isSuccess){
                 ysfloatProceDataList.postValue(respData)
             }
@@ -1107,7 +1079,7 @@ class TjmdMarketViewModel : BaseViewModel(){
         val params = mutableMapOf<String, String>().apply {
             put("goodsCodes", goodsCodes)
         }
-        MyApplication.getInstance()?.futureManager?.queryQuoteDay(params = params) { isSuccess, respData, error ->
+        MyApplication.getInstance()?.futureManager?.queryQuoteDay(params = params) { isSuccess, _, error ->
             if (isSuccess) {
                 callback(true, null)
             } else {
@@ -1133,10 +1105,11 @@ class TjmdMarketViewModel : BaseViewModel(){
      * @param tag String
      * @param goodsInfoList List<GoodsInfo>
      */
+    @SuppressLint("DefaultLocale")
     fun addSubscriptQuote(tag: String, goodsInfoList: List<GoodsInfo>) {
         GlobalScope.launch {
             MyApplication.getInstance()?.quoteManager?.addSubscriptQuote(
-                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodscode.toUpperCase() ?: "" }.toSet()
+                tag = tag, goodsCodeSet = goodsInfoList.map { it.goodscode.toUpperCase() }.toSet()
             ) { _, _ ->
 
             }
@@ -1162,7 +1135,7 @@ class TjmdMarketViewModel : BaseViewModel(){
         val params = mutableMapOf<String, String>().apply {
             put("goodsCodes", goodsCodes)
         }
-        MyApplication.getInstance()?.futureManager?.queryQuoteDay(params = params) { isSuccess, respData, error ->
+        MyApplication.getInstance()?.futureManager?.queryQuoteDay(params = params) { isSuccess, respData, _ ->
             if (isSuccess) {
                 if (respData?.isEmpty()?.not() == true) {
                     quoteDayData.postValue(respData[0])

+ 40 - 101
RMA/app/src/main/java/cn/muchinfo/rma/view/base/yrdzpurchase/swaps/TransferSwapsAdapter.java

@@ -12,21 +12,17 @@ import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
-
 import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
-
 import com.blankj.utilcode.util.ActivityUtils;
 import com.blankj.utilcode.util.ToastUtils;
-
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 import cn.muchinfo.rma.R;
 import cn.muchinfo.rma.global.GlobalDataCollection;
-import cn.muchinfo.rma.global.data.ContractData;
-import cn.muchinfo.rma.global.data.ContractTradePositionData;
 import cn.muchinfo.rma.global.data.DeliveryRelationData;
 import cn.muchinfo.rma.global.data.GoodsInfoAndQuotes;
 import cn.muchinfo.rma.global.data.OrderQuoteData;
@@ -39,7 +35,6 @@ import cn.muchinfo.rma.view.autoWidget.utils.NumberUtils;
 import cn.muchinfo.rma.view.base.platinumtreasure.adapter.QHjRightData;
 import cn.muchinfo.rma.view.base.platinumtreasure.adapter.QhjRightScrollAdapter;
 import cn.muchinfo.rma.view.base.warehousereceipt.BusinessHallDetailsActivity;
-import cn.muchinfo.rma.view.base.yrdzpurchase.business.ContractBusinessHallActivity;
 import cn.muchinfo.rma.view.base.yrdzpurchase.chart.YrdzChartActivity;
 import cn.muchinfo.rma.view.base.yrdzpurchase.swaps.business.SwapsBusinessHallActivity;
 
@@ -49,11 +44,9 @@ import cn.muchinfo.rma.view.base.yrdzpurchase.swaps.business.SwapsBusinessHallAc
 public class TransferSwapsAdapter extends RecyclerView.Adapter<TransferSwapsAdapter.ItemViewHolder> {
 
 
-    private Context context;
+    private final Context context;
     private List<GoodsInfo> datas;
-    private int index = -1;
-    private int position = -1;
-    private List<ItemViewHolder> mViewHolderList = new ArrayList<>();
+    private final List<ItemViewHolder> mViewHolderList = new ArrayList<>();
     public int offestX = 0;
     private OnContentScrollListener onContentScrollListener;
     private  QuoteGoodsListData quoteGoodsListData = null;
@@ -107,12 +100,11 @@ public class TransferSwapsAdapter extends RecyclerView.Adapter<TransferSwapsAdap
     @SuppressLint("SetTextI18n")
     @Override
     public void onBindViewHolder(@NonNull final ItemViewHolder itemViewHolder, int i) {
-        this.index = i;
         GoodsInfo data = datas.get(i);
 
-        ArrayList<QuoteGoodsListData> quoteGoodsListDataList = GlobalDataCollection.Companion.getInstance().getQuoteGoodsListDataArrayList();
+        ArrayList<QuoteGoodsListData> quoteGoodsListDataList = Objects.requireNonNull(GlobalDataCollection.Companion.getInstance()).getQuoteGoodsListDataArrayList();
         for (int k = 0;k < quoteGoodsListDataList.size();k++){
-            if (quoteGoodsListDataList.get(k).getGoodsid().equals(String.valueOf(data.getGoodsid()))){
+            if (Objects.equals(quoteGoodsListDataList.get(k).getGoodsid(), String.valueOf(data.getGoodsid()))){
                 quoteGoodsListData = quoteGoodsListDataList.get(k);
             }
         }
@@ -128,34 +120,16 @@ public class TransferSwapsAdapter extends RecyclerView.Adapter<TransferSwapsAdap
         //获取盘面信息
         QuoteDayData quoteDayData = null;//当前商品的盘面信息(有用的只有买一卖一价即回购销售价,其他信息用关联商品的)
 
-        GoodsInfo relateGoodsInfo = null;//关联商品实体
-        relateGoodsInfo = DataBase.Companion.getInstance().goodsInfoDao().getGoodsInfo(data.getRelatedgoodsid());//获取关联商品的商品详情
         List<GoodsInfoAndQuotes> quotesList = GlobalDataCollection.Companion.getInstance().getGoodsInfoAndQuotesList();//获取盘面信息列表
         for (int j = 0; j < quotesList.size(); j++) {
             if (quotesList.get(j) != null) {
-                if (quoteGoodsListData.getRefgoodscode().equals(quotesList.get(j).getOutgoodscode())) {
+                if (Objects.equals(quoteGoodsListData.getRefgoodscode(), quotesList.get(j).getOutgoodscode())) {
                     quoteDayData = quotesList.get(j).getQuoteDayData();//赋值当前商品的盘面信息
                 }
             }
         }
 
-        if (quoteDayData != null) {
-//            // 卖价取卖一价
-//            QHjRightData askData = new QHjRightData();
-//            askData.setValue(NumberUtils.roundNum(NumberUtils.doubleDistortion(String.valueOf(quoteDayData.getAsk())), 2));
-//            askData.setColorType("3");
-//            rightData.add(askData);
-
-
-
-//            //买价取买一价
-//            QHjRightData bidData = new QHjRightData();
-//            bidData.setValue(NumberUtils.roundNum(NumberUtils.doubleDistortion(String.valueOf(quoteDayData.getBid())), 2));
-//            bidData.setColorType("3");
-//            rightData.add(bidData);
-        }
         // 重要提醒, 这里所有的字体颜色都是2595bug中提出的,全部关联昨结价
-
         if (quoteDayData != null) {
 
             //最新价
@@ -242,7 +216,7 @@ public class TransferSwapsAdapter extends RecyclerView.Adapter<TransferSwapsAdap
             preSettlementData.setColorType("1");
 
             if (quoteDayData.getPrice() != 0 && quoteDayData.getPresettle() != 0) {
-                String textApplies = "";
+                String textApplies;
                 String textUpDown = NumberUtils.roundNum(NumberUtils.doubleDistortion(String.valueOf((quoteDayData.getPrice() - quoteDayData.getPresettle()))), 2);//涨跌
                 if (quoteDayData.getPresettle() == 0) {
                     textApplies = "--";
@@ -251,10 +225,10 @@ public class TransferSwapsAdapter extends RecyclerView.Adapter<TransferSwapsAdap
                 }
                 riseFallData.setValue(textUpDown);
                 appliesData.setValue(textApplies + "%");
-                if (Double.valueOf(textUpDown) > 0) {
+                if (Double.parseDouble(textUpDown) > 0) {
                     riseFallData.setColorType("3");
                     appliesData.setColorType("3");
-                } else if (Double.valueOf(textUpDown) < 0) {
+                } else if (Double.parseDouble(textUpDown) < 0) {
                     riseFallData.setColorType("2");
                     appliesData.setColorType("2");
                 } else {
@@ -308,88 +282,53 @@ public class TransferSwapsAdapter extends RecyclerView.Adapter<TransferSwapsAdap
         }
 
         itemViewHolder.all_click_View.setOnClickListener(view -> setOnItemClick(i));
-//        itemViewHolder.horItemScrollview.setOnClickListener(new View.OnClickListener() {
-//            @Override
-//            public void onClick(View view) {
-//                setPosition(i);
-//            }
-//        });
         //买入点击
-        itemViewHolder.transfer_buy.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                Intent intent = new Intent();
-                intent.putExtra("goodsId", String.valueOf(data.getGoodsid()));
-                intent.putExtra("goodsCode", data.getGoodscode());
-                intent.putExtra("quoteGoodsListData",quoteGoodsListData);
-                intent.setClass(context, SwapsBusinessHallActivity.class);
-                ActivityUtils.startActivity(intent);
-            }
+        itemViewHolder.transfer_buy.setOnClickListener(view -> {
+            Intent intent = new Intent();
+            intent.putExtra("goodsId", String.valueOf(data.getGoodsid()));
+            intent.putExtra("goodsCode", data.getGoodscode());
+            intent.putExtra("quoteGoodsListData",quoteGoodsListData);
+            intent.setClass(context, SwapsBusinessHallActivity.class);
+            ActivityUtils.startActivity(intent);
         });
         itemViewHolder.platnum_chart.setVisibility(View.GONE);
         //图表点击
-        itemViewHolder.platnum_chart.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                Intent intent = new Intent();
-                intent.putExtra("outGoodsCode", data.getOutgoodscode());
-                intent.putExtra("goodsCode", data.getGoodscode());
-                intent.putExtra("goodsId", String.valueOf(data.getGoodsid()));
-                intent.putExtra("type", "1");
-                intent.putExtra("marketId", data.getMarketid());
-                intent.setClass(context, YrdzChartActivity.class);
-                ActivityUtils.startActivity(intent);
-            }
+        itemViewHolder.platnum_chart.setOnClickListener(view -> {
+            Intent intent = new Intent();
+            intent.putExtra("outGoodsCode", data.getOutgoodscode());
+            intent.putExtra("goodsCode", data.getGoodscode());
+            intent.putExtra("goodsId", String.valueOf(data.getGoodsid()));
+            intent.putExtra("type", "1");
+            intent.putExtra("marketId", data.getMarketid());
+            intent.setClass(context, YrdzChartActivity.class);
+            ActivityUtils.startActivity(intent);
         });
 
 
         itemViewHolder.platnum_details.setVisibility(View.GONE);
         //详情点击
-        itemViewHolder.platnum_details.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                Intent intent = new Intent();
-                intent.putExtra("data", new OrderQuoteData());
-                intent.putExtra("type", "3");
-                intent.putExtra("isCircle","0");
-                intent.putExtra("goodsId", String.valueOf(data.getGoodsid()));
-                intent.setClass(context, BusinessHallDetailsActivity.class);
-                ActivityUtils.startActivity(intent);
-            }
-        });
-        itemViewHolder.rvItemRight.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                ToastUtils.showLong("ahhahahha");
-            }
+        itemViewHolder.platnum_details.setOnClickListener(view -> {
+            Intent intent = new Intent();
+            intent.putExtra("data", new OrderQuoteData());
+            intent.putExtra("type", "3");
+            intent.putExtra("isCircle","0");
+            intent.putExtra("goodsId", String.valueOf(data.getGoodsid()));
+            intent.setClass(context, BusinessHallDetailsActivity.class);
+            ActivityUtils.startActivity(intent);
         });
 
-
-        itemViewHolder.horItemScrollview.setEventListener(new CustomHorizontalScrollView.EventListener() {
-            @Override
-            public void onEvent(MotionEvent ev) {
-
-                if (null != onContentScrollListener) onContentScrollListener.onScroll(ev);
-
-            }
+        itemViewHolder.horItemScrollview.setEventListener(ev -> {
+            if (null != onContentScrollListener) onContentScrollListener.onScroll(ev);
         });
-        //由于viewHolder的缓存,在1级缓存取出来是2个viewholder,并且不会被重新赋值,所以这里需要处理缓存的viewholder的位移
-        itemViewHolder.horItemScrollview.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
-            @Override
-            public void onGlobalLayout() {
-                if (!itemViewHolder.isLayoutFinish()) {
-                    itemViewHolder.horItemScrollview.scrollTo(offestX, 0);
-                    itemViewHolder.setLayoutFinish(true);
-                }
+
+        itemViewHolder.horItemScrollview.getViewTreeObserver().addOnGlobalLayoutListener(() -> {
+            if (!itemViewHolder.isLayoutFinish()) {
+                itemViewHolder.horItemScrollview.scrollTo(offestX, 0);
+                itemViewHolder.setLayoutFinish(true);
             }
         });
     }
 
-    float start, end;
-    float distance = 0;
-    boolean isclick = false;
-    boolean isFirst = false;
-
     @Override
     public int getItemCount() {
         return null == datas ? 0 : datas.size();