1、Activity中:
注意:这里就可以获取到值:
/**
* viewPager adapter
*/
var fragment: Fragment? = null
val fragmentAdapter: FragmentStateAdapter by lazy {
object : FragmentStateAdapter(this) {
override fun getItemCount(): Int {
return moreList?.size ?: 0
}
override fun createFragment(position: Int): Fragment {
var childrenBean = moreList?.get(position)
//开始传值
fragment = PickingUpShelvesFragment().apply {
val bundle = Bundle()
bundle.putInt("type", position)
arguments = bundle
}
return fragment!!
}
}
}
package com.asura.android.wmspda.ui.activity.pickingPoolTask
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.EditText
import androidx.activity.viewModels
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.ItemTouchHelper
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import com.asura.android.wmspda.base.BaseActivity
import com.asura.android.wmspda.databinding.ActivityPickingUpShelvesBinding
import com.asura.android.wmspda.ui.adapter.PickingUpShelvesAdapter
import com.asura.android.wmspda.ui.bean.*
import com.asura.android.wmspda.ui.viewModel.PickingUpShelvesViewModel
import com.asura.android.wmspda.util.*
/**
* 拣货下架
*/
class PickingUpShelvesActivity :
BaseActivity<PickingUpShelvesViewModel, ActivityPickingUpShelvesBinding>() {
val mainViewMoel by viewModels<PickingUpShelvesViewModel>()
/**
* 商品id
*/
var id = ""
var listAllSize = 0
var destination = ""
var carrier_name = ""
var unloadGroup = ""
var unloadPoint = ""
var order = ""
//更多
var moreList = mutableListOf<PickingUpShelvesBean>()
var pickShelvesCustom: PickingUpShelvesBean? = null
/**
* 输入框类型; 1:商品编码;2:上架数量;3:容器号;4:上架库位
*/
var inputType = 1
//推荐的商品编码
var mSkuCode = ""
var binCode = "";
var cureentNum = 0//当前待拣数量
var inputNum = 0//输入的拣货数量
var scanCode: String = ""//输入的商品编码
override fun initView(savedInstanceState: Bundle?) {
ColorUiUtils.changeViewBackground(this, mViewBind.includeTop.clTop)
id = intent.getStringExtra("id") ?: ""
listAllSize = intent.getIntExtra("listAllSize", 0)
destination = intent.getStringExtra("destination") ?: ""
carrier_name = intent.getStringExtra("carrier_name") ?: ""
unloadGroup = intent.getStringExtra("unloadGroup") ?: ""
unloadPoint = intent.getStringExtra("unloadPoint") ?: ""
order = intent.getStringExtra("order") ?: ""
mViewBind.apply {
}.includeTop.apply {
tvTitle.text = "拣货下架"
tvTopTip.text = ""
CommonUtils.DynamicallyChangingWarehousesAndUser(tvWarehouseName, tvUserName, tvVersion)
}
initClick()
initRefresh()
requestData()
}
override fun createObserver() {
super.createObserver()
mainViewMoel.mainData.observe(this) {
// mViewBind.smartRefresh.finishRefresh()
it?.let { item ->
pickShelvesCustom = item
mSkuCode = item.skuCode ?: ""
binCode = item.binCode ?: ""
moreList.clear()
moreList.add(item)
moreList.add(item)
moreList.add(item)
}
initViewPage()
}
}
private fun initRefresh() {
/**
* 下拉刷新
*/
// mViewBind.smartRefresh.setNoMoreData(true)
// mViewBind.smartRefresh.setOnRefreshListener {
// requestData()
// }
}
private fun initClick() {
mViewBind.apply {
}.includeTop.apply {
tvBack.setOnClickListener {
finish()
}
}
}
fun requestData() {
var map = RequestParameterUtils.getMapData()
//扫描号
map.put("id", id)
map.put("sortType", order)
mainViewMoel.requestPickingShelvesDetailByMergeId(this@PickingUpShelvesActivity, map)
}
override fun scanResult(scanCode: String) {
super.scanResult(scanCode)
}
private fun initViewPage() {
mViewBind.viewPage.currentItem = 0
mViewBind.viewPage.offscreenPageLimit = 3
mViewBind.viewPage.adapter = fragmentAdapter
//true:允许滑动;false:不允许滑动
mViewBind.viewPage.isUserInputEnabled = true
mViewBind.viewPage.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
override fun onPageScrolled(
position: Int,
positionOffset: Float,
positionOffsetPixels: Int
) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels)
//处理滑动过程
}
override fun onPageScrollStateChanged(state: Int) {
super.onPageScrollStateChanged(state)
//处理滑动状态改变的事件
}
override fun onPageSelected(position: Int) {
super.onPageSelected(position)
// 处理选中页面的事件
}
})
}
/**
* viewPager adapter
*/
var fragment: Fragment? = null
val fragmentAdapter: FragmentStateAdapter by lazy {
object : FragmentStateAdapter(this) {
override fun getItemCount(): Int {
return moreList?.size ?: 0
}
override fun createFragment(position: Int): Fragment {
var childrenBean = moreList?.get(position)
fragment = PickingUpShelvesFragment().apply {
val bundle = Bundle()
bundle.putInt("type", position)
arguments = bundle
}
return fragment!!
}
}
}
}
2、Fragment中:
注意:这里就可以获取到值:
override fun initView(savedInstanceState: Bundle?) {
//当前的页面
var bundle = getArguments()
var currentPage = bundle?.getInt("type")
LogUtils.debugInfo("----currentPage:${currentPage}")
}
package com.asura.android.wmspda.ui.activity.pickingPoolTask
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.text.Editable
import android.text.TextUtils
import android.text.TextWatcher
import android.view.KeyEvent
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.inputmethod.EditorInfo
import android.widget.TextView
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.content.ContextCompat
import androidx.fragment.app.viewModels
import androidx.recyclerview.widget.LinearLayoutManager
import com.alibaba.fastjson.JSON
import com.asura.android.wmspda.base.BaseFragment
import com.asura.android.wmspda.databinding.FragmentPickingUpShelvesBinding
import com.asura.android.wmspda.ui.viewModel.PickingUpShelvesViewModel
import me.hgj.jetpackmvvm.util.LogUtils
import java.lang.reflect.Type
/**
* 拣货下架 fragment_picking_up_shelves
*/
class PickingUpShelvesFragment :
BaseFragment<PickingUpShelvesViewModel, FragmentPickingUpShelvesBinding>() {
val mainViewModel by viewModels<PickingUpShelvesViewModel>()
override fun initView(savedInstanceState: Bundle?) {
//当前的页面
var bundle = getArguments()
var currentPage = bundle?.getInt("type")
LogUtils.debugInfo("----currentPage:${currentPage}")
}
override fun createObserver() {
super.createObserver()
}
private fun initClick() {
mViewBind.apply {
}
}
/**
* 扫描返回结果
*/
override fun scanResult(scanCode: String) {
}
}