diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt index 9ec789c..7514761 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt @@ -1,8 +1,6 @@ package com.casic.br.operationsite.view import android.os.Bundle -import android.os.Handler -import android.os.Message import androidx.lifecycle.ViewModelProvider import com.casic.br.operationsite.R import com.casic.br.operationsite.databinding.ActivityMainBinding @@ -13,18 +11,18 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager -import com.pengxh.kt.lite.utils.WeakReferenceHandler -class MainActivity : KotlinBaseActivity(), Handler.Callback { +class MainActivity : KotlinBaseActivity() { private val kTag = "MainActivity" - private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - private lateinit var workSiteListAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 5.dp2px(this) } + private lateinit var workSiteAdapter: NormalRecyclerAdapter private lateinit var workSiteViewModel: WorkSiteViewModel - private var dataBeans: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -47,28 +45,58 @@ val dataRows = it.data?.rows!! when { isRefresh -> { - workSiteListAdapter.refresh(dataRows) binding.refreshLayout.finishRefresh() isRefresh = false + workSiteAdapter.refresh(dataRows) } isLoadMore -> { + binding.refreshLayout.finishLoadMore() + isLoadMore = false if (dataRows.size == 0) { "到底了,别拉了".show(this) } - workSiteListAdapter.loadMore(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false + workSiteAdapter.loadMore(dataRows) } else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2022071502) + workSiteAdapter = object : + NormalRecyclerAdapter( + R.layout.item_work_site_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: WorkSiteListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.workSiteNameView, item.workTitle) + .setText(R.id.constructionUnitView, item.workPersonDeptName) + .setText(R.id.constructionDateView, item.registerTime) + .setText(R.id.leaderNameView, item.workPersonName) + .setText(R.id.leaderPhoneView, item.workPersonPhoneNumber) + .setText(R.id.workSiteView, item.workSiteDesc) + } + } + binding.recyclerView.adapter = workSiteAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, + marginOffset, marginOffset shr 1 + ) + ) + workSiteAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, item: WorkSiteListModel.DataModel.RowsModel + ) { + RuntimeCache.projectId = item.id + navigatePageTo() + } + }) } } } } - obtainProjectListByPage() + getProjectListByPage() // startService(Intent(this, SocketConnectionService::class.java)) // startService(Intent(this, ForegroundRunningService::class.java)) @@ -80,56 +108,24 @@ override fun initEvent() { binding.titleInclude.searchTextView.setOnClickListener { + page = 1 keywords = binding.titleInclude.searchInputView.text.toString() - workSiteViewModel.getProjectListByPage(this, keywords, "", 1) + getProjectListByPage() } binding.refreshLayout.setOnRefreshListener { isRefresh = true page = 1 - obtainProjectListByPage() + getProjectListByPage() } binding.refreshLayout.setOnLoadMoreListener { isLoadMore = true page++ - obtainProjectListByPage() + getProjectListByPage() } } - private fun obtainProjectListByPage() { + private fun getProjectListByPage() { workSiteViewModel.getProjectListByPage(this, keywords, "", page) } - - override fun handleMessage(msg: Message): Boolean { - if (msg.what == 2022071502) { - workSiteListAdapter = - object : NormalRecyclerAdapter( - R.layout.item_working_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: WorkSiteListModel.DataModel.RowsModel - ) { - viewHolder.setText(R.id.workTitleView, item.workTitle) - .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}") - .setText( - R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}" - ) - .setText(R.id.registerTimeView, "施工日期:${item.registerTime}") - .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}") - } - } - binding.recyclerView.adapter = workSiteListAdapter - workSiteListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: WorkSiteListModel.DataModel.RowsModel - ) { - RuntimeCache.projectId = t.id - navigatePageTo() - } - }) - } - return true - } } \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt index 9ec789c..7514761 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt @@ -1,8 +1,6 @@ package com.casic.br.operationsite.view import android.os.Bundle -import android.os.Handler -import android.os.Message import androidx.lifecycle.ViewModelProvider import com.casic.br.operationsite.R import com.casic.br.operationsite.databinding.ActivityMainBinding @@ -13,18 +11,18 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager -import com.pengxh.kt.lite.utils.WeakReferenceHandler -class MainActivity : KotlinBaseActivity(), Handler.Callback { +class MainActivity : KotlinBaseActivity() { private val kTag = "MainActivity" - private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - private lateinit var workSiteListAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 5.dp2px(this) } + private lateinit var workSiteAdapter: NormalRecyclerAdapter private lateinit var workSiteViewModel: WorkSiteViewModel - private var dataBeans: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -47,28 +45,58 @@ val dataRows = it.data?.rows!! when { isRefresh -> { - workSiteListAdapter.refresh(dataRows) binding.refreshLayout.finishRefresh() isRefresh = false + workSiteAdapter.refresh(dataRows) } isLoadMore -> { + binding.refreshLayout.finishLoadMore() + isLoadMore = false if (dataRows.size == 0) { "到底了,别拉了".show(this) } - workSiteListAdapter.loadMore(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false + workSiteAdapter.loadMore(dataRows) } else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2022071502) + workSiteAdapter = object : + NormalRecyclerAdapter( + R.layout.item_work_site_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: WorkSiteListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.workSiteNameView, item.workTitle) + .setText(R.id.constructionUnitView, item.workPersonDeptName) + .setText(R.id.constructionDateView, item.registerTime) + .setText(R.id.leaderNameView, item.workPersonName) + .setText(R.id.leaderPhoneView, item.workPersonPhoneNumber) + .setText(R.id.workSiteView, item.workSiteDesc) + } + } + binding.recyclerView.adapter = workSiteAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, + marginOffset, marginOffset shr 1 + ) + ) + workSiteAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, item: WorkSiteListModel.DataModel.RowsModel + ) { + RuntimeCache.projectId = item.id + navigatePageTo() + } + }) } } } } - obtainProjectListByPage() + getProjectListByPage() // startService(Intent(this, SocketConnectionService::class.java)) // startService(Intent(this, ForegroundRunningService::class.java)) @@ -80,56 +108,24 @@ override fun initEvent() { binding.titleInclude.searchTextView.setOnClickListener { + page = 1 keywords = binding.titleInclude.searchInputView.text.toString() - workSiteViewModel.getProjectListByPage(this, keywords, "", 1) + getProjectListByPage() } binding.refreshLayout.setOnRefreshListener { isRefresh = true page = 1 - obtainProjectListByPage() + getProjectListByPage() } binding.refreshLayout.setOnLoadMoreListener { isLoadMore = true page++ - obtainProjectListByPage() + getProjectListByPage() } } - private fun obtainProjectListByPage() { + private fun getProjectListByPage() { workSiteViewModel.getProjectListByPage(this, keywords, "", page) } - - override fun handleMessage(msg: Message): Boolean { - if (msg.what == 2022071502) { - workSiteListAdapter = - object : NormalRecyclerAdapter( - R.layout.item_working_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: WorkSiteListModel.DataModel.RowsModel - ) { - viewHolder.setText(R.id.workTitleView, item.workTitle) - .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}") - .setText( - R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}" - ) - .setText(R.id.registerTimeView, "施工日期:${item.registerTime}") - .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}") - } - } - binding.recyclerView.adapter = workSiteListAdapter - workSiteListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: WorkSiteListModel.DataModel.RowsModel - ) { - RuntimeCache.projectId = t.id - navigatePageTo() - } - }) - } - return true - } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_stroke_layout_black.xml b/app/src/main/res/drawable/bg_stroke_layout_black.xml new file mode 100644 index 0000000..84ba984 --- /dev/null +++ b/app/src/main/res/drawable/bg_stroke_layout_black.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt index 9ec789c..7514761 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt @@ -1,8 +1,6 @@ package com.casic.br.operationsite.view import android.os.Bundle -import android.os.Handler -import android.os.Message import androidx.lifecycle.ViewModelProvider import com.casic.br.operationsite.R import com.casic.br.operationsite.databinding.ActivityMainBinding @@ -13,18 +11,18 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager -import com.pengxh.kt.lite.utils.WeakReferenceHandler -class MainActivity : KotlinBaseActivity(), Handler.Callback { +class MainActivity : KotlinBaseActivity() { private val kTag = "MainActivity" - private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - private lateinit var workSiteListAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 5.dp2px(this) } + private lateinit var workSiteAdapter: NormalRecyclerAdapter private lateinit var workSiteViewModel: WorkSiteViewModel - private var dataBeans: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -47,28 +45,58 @@ val dataRows = it.data?.rows!! when { isRefresh -> { - workSiteListAdapter.refresh(dataRows) binding.refreshLayout.finishRefresh() isRefresh = false + workSiteAdapter.refresh(dataRows) } isLoadMore -> { + binding.refreshLayout.finishLoadMore() + isLoadMore = false if (dataRows.size == 0) { "到底了,别拉了".show(this) } - workSiteListAdapter.loadMore(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false + workSiteAdapter.loadMore(dataRows) } else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2022071502) + workSiteAdapter = object : + NormalRecyclerAdapter( + R.layout.item_work_site_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: WorkSiteListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.workSiteNameView, item.workTitle) + .setText(R.id.constructionUnitView, item.workPersonDeptName) + .setText(R.id.constructionDateView, item.registerTime) + .setText(R.id.leaderNameView, item.workPersonName) + .setText(R.id.leaderPhoneView, item.workPersonPhoneNumber) + .setText(R.id.workSiteView, item.workSiteDesc) + } + } + binding.recyclerView.adapter = workSiteAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, + marginOffset, marginOffset shr 1 + ) + ) + workSiteAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, item: WorkSiteListModel.DataModel.RowsModel + ) { + RuntimeCache.projectId = item.id + navigatePageTo() + } + }) } } } } - obtainProjectListByPage() + getProjectListByPage() // startService(Intent(this, SocketConnectionService::class.java)) // startService(Intent(this, ForegroundRunningService::class.java)) @@ -80,56 +108,24 @@ override fun initEvent() { binding.titleInclude.searchTextView.setOnClickListener { + page = 1 keywords = binding.titleInclude.searchInputView.text.toString() - workSiteViewModel.getProjectListByPage(this, keywords, "", 1) + getProjectListByPage() } binding.refreshLayout.setOnRefreshListener { isRefresh = true page = 1 - obtainProjectListByPage() + getProjectListByPage() } binding.refreshLayout.setOnLoadMoreListener { isLoadMore = true page++ - obtainProjectListByPage() + getProjectListByPage() } } - private fun obtainProjectListByPage() { + private fun getProjectListByPage() { workSiteViewModel.getProjectListByPage(this, keywords, "", page) } - - override fun handleMessage(msg: Message): Boolean { - if (msg.what == 2022071502) { - workSiteListAdapter = - object : NormalRecyclerAdapter( - R.layout.item_working_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: WorkSiteListModel.DataModel.RowsModel - ) { - viewHolder.setText(R.id.workTitleView, item.workTitle) - .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}") - .setText( - R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}" - ) - .setText(R.id.registerTimeView, "施工日期:${item.registerTime}") - .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}") - } - } - binding.recyclerView.adapter = workSiteListAdapter - workSiteListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: WorkSiteListModel.DataModel.RowsModel - ) { - RuntimeCache.projectId = t.id - navigatePageTo() - } - }) - } - return true - } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_stroke_layout_black.xml b/app/src/main/res/drawable/bg_stroke_layout_black.xml new file mode 100644 index 0000000..84ba984 --- /dev/null +++ b/app/src/main/res/drawable/bg_stroke_layout_black.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_work_site_name.xml b/app/src/main/res/drawable/bg_work_site_name.xml deleted file mode 100644 index ee157e2..0000000 --- a/app/src/main/res/drawable/bg_work_site_name.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt index 9ec789c..7514761 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt @@ -1,8 +1,6 @@ package com.casic.br.operationsite.view import android.os.Bundle -import android.os.Handler -import android.os.Message import androidx.lifecycle.ViewModelProvider import com.casic.br.operationsite.R import com.casic.br.operationsite.databinding.ActivityMainBinding @@ -13,18 +11,18 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager -import com.pengxh.kt.lite.utils.WeakReferenceHandler -class MainActivity : KotlinBaseActivity(), Handler.Callback { +class MainActivity : KotlinBaseActivity() { private val kTag = "MainActivity" - private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - private lateinit var workSiteListAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 5.dp2px(this) } + private lateinit var workSiteAdapter: NormalRecyclerAdapter private lateinit var workSiteViewModel: WorkSiteViewModel - private var dataBeans: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -47,28 +45,58 @@ val dataRows = it.data?.rows!! when { isRefresh -> { - workSiteListAdapter.refresh(dataRows) binding.refreshLayout.finishRefresh() isRefresh = false + workSiteAdapter.refresh(dataRows) } isLoadMore -> { + binding.refreshLayout.finishLoadMore() + isLoadMore = false if (dataRows.size == 0) { "到底了,别拉了".show(this) } - workSiteListAdapter.loadMore(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false + workSiteAdapter.loadMore(dataRows) } else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2022071502) + workSiteAdapter = object : + NormalRecyclerAdapter( + R.layout.item_work_site_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: WorkSiteListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.workSiteNameView, item.workTitle) + .setText(R.id.constructionUnitView, item.workPersonDeptName) + .setText(R.id.constructionDateView, item.registerTime) + .setText(R.id.leaderNameView, item.workPersonName) + .setText(R.id.leaderPhoneView, item.workPersonPhoneNumber) + .setText(R.id.workSiteView, item.workSiteDesc) + } + } + binding.recyclerView.adapter = workSiteAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, + marginOffset, marginOffset shr 1 + ) + ) + workSiteAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, item: WorkSiteListModel.DataModel.RowsModel + ) { + RuntimeCache.projectId = item.id + navigatePageTo() + } + }) } } } } - obtainProjectListByPage() + getProjectListByPage() // startService(Intent(this, SocketConnectionService::class.java)) // startService(Intent(this, ForegroundRunningService::class.java)) @@ -80,56 +108,24 @@ override fun initEvent() { binding.titleInclude.searchTextView.setOnClickListener { + page = 1 keywords = binding.titleInclude.searchInputView.text.toString() - workSiteViewModel.getProjectListByPage(this, keywords, "", 1) + getProjectListByPage() } binding.refreshLayout.setOnRefreshListener { isRefresh = true page = 1 - obtainProjectListByPage() + getProjectListByPage() } binding.refreshLayout.setOnLoadMoreListener { isLoadMore = true page++ - obtainProjectListByPage() + getProjectListByPage() } } - private fun obtainProjectListByPage() { + private fun getProjectListByPage() { workSiteViewModel.getProjectListByPage(this, keywords, "", page) } - - override fun handleMessage(msg: Message): Boolean { - if (msg.what == 2022071502) { - workSiteListAdapter = - object : NormalRecyclerAdapter( - R.layout.item_working_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: WorkSiteListModel.DataModel.RowsModel - ) { - viewHolder.setText(R.id.workTitleView, item.workTitle) - .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}") - .setText( - R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}" - ) - .setText(R.id.registerTimeView, "施工日期:${item.registerTime}") - .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}") - } - } - binding.recyclerView.adapter = workSiteListAdapter - workSiteListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: WorkSiteListModel.DataModel.RowsModel - ) { - RuntimeCache.projectId = t.id - navigatePageTo() - } - }) - } - return true - } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_stroke_layout_black.xml b/app/src/main/res/drawable/bg_stroke_layout_black.xml new file mode 100644 index 0000000..84ba984 --- /dev/null +++ b/app/src/main/res/drawable/bg_stroke_layout_black.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_work_site_name.xml b/app/src/main/res/drawable/bg_work_site_name.xml deleted file mode 100644 index ee157e2..0000000 --- a/app/src/main/res/drawable/bg_work_site_name.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 653122a..d38ca61 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -20,18 +20,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content" /> - - - - + android:layout_height="wrap_content" + android:paddingVertical="@dimen/dp_3" + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> (), Handler.Callback { +class MainActivity : KotlinBaseActivity() { private val kTag = "MainActivity" - private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - private lateinit var workSiteListAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 5.dp2px(this) } + private lateinit var workSiteAdapter: NormalRecyclerAdapter private lateinit var workSiteViewModel: WorkSiteViewModel - private var dataBeans: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -47,28 +45,58 @@ val dataRows = it.data?.rows!! when { isRefresh -> { - workSiteListAdapter.refresh(dataRows) binding.refreshLayout.finishRefresh() isRefresh = false + workSiteAdapter.refresh(dataRows) } isLoadMore -> { + binding.refreshLayout.finishLoadMore() + isLoadMore = false if (dataRows.size == 0) { "到底了,别拉了".show(this) } - workSiteListAdapter.loadMore(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false + workSiteAdapter.loadMore(dataRows) } else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2022071502) + workSiteAdapter = object : + NormalRecyclerAdapter( + R.layout.item_work_site_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: WorkSiteListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.workSiteNameView, item.workTitle) + .setText(R.id.constructionUnitView, item.workPersonDeptName) + .setText(R.id.constructionDateView, item.registerTime) + .setText(R.id.leaderNameView, item.workPersonName) + .setText(R.id.leaderPhoneView, item.workPersonPhoneNumber) + .setText(R.id.workSiteView, item.workSiteDesc) + } + } + binding.recyclerView.adapter = workSiteAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, + marginOffset, marginOffset shr 1 + ) + ) + workSiteAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, item: WorkSiteListModel.DataModel.RowsModel + ) { + RuntimeCache.projectId = item.id + navigatePageTo() + } + }) } } } } - obtainProjectListByPage() + getProjectListByPage() // startService(Intent(this, SocketConnectionService::class.java)) // startService(Intent(this, ForegroundRunningService::class.java)) @@ -80,56 +108,24 @@ override fun initEvent() { binding.titleInclude.searchTextView.setOnClickListener { + page = 1 keywords = binding.titleInclude.searchInputView.text.toString() - workSiteViewModel.getProjectListByPage(this, keywords, "", 1) + getProjectListByPage() } binding.refreshLayout.setOnRefreshListener { isRefresh = true page = 1 - obtainProjectListByPage() + getProjectListByPage() } binding.refreshLayout.setOnLoadMoreListener { isLoadMore = true page++ - obtainProjectListByPage() + getProjectListByPage() } } - private fun obtainProjectListByPage() { + private fun getProjectListByPage() { workSiteViewModel.getProjectListByPage(this, keywords, "", page) } - - override fun handleMessage(msg: Message): Boolean { - if (msg.what == 2022071502) { - workSiteListAdapter = - object : NormalRecyclerAdapter( - R.layout.item_working_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: WorkSiteListModel.DataModel.RowsModel - ) { - viewHolder.setText(R.id.workTitleView, item.workTitle) - .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}") - .setText( - R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}" - ) - .setText(R.id.registerTimeView, "施工日期:${item.registerTime}") - .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}") - } - } - binding.recyclerView.adapter = workSiteListAdapter - workSiteListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: WorkSiteListModel.DataModel.RowsModel - ) { - RuntimeCache.projectId = t.id - navigatePageTo() - } - }) - } - return true - } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_stroke_layout_black.xml b/app/src/main/res/drawable/bg_stroke_layout_black.xml new file mode 100644 index 0000000..84ba984 --- /dev/null +++ b/app/src/main/res/drawable/bg_stroke_layout_black.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_work_site_name.xml b/app/src/main/res/drawable/bg_work_site_name.xml deleted file mode 100644 index ee157e2..0000000 --- a/app/src/main/res/drawable/bg_work_site_name.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 653122a..d38ca61 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -20,18 +20,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content" /> - - - - + android:layout_height="wrap_content" + android:paddingVertical="@dimen/dp_3" + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt index 9ec789c..7514761 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt @@ -1,8 +1,6 @@ package com.casic.br.operationsite.view import android.os.Bundle -import android.os.Handler -import android.os.Message import androidx.lifecycle.ViewModelProvider import com.casic.br.operationsite.R import com.casic.br.operationsite.databinding.ActivityMainBinding @@ -13,18 +11,18 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager -import com.pengxh.kt.lite.utils.WeakReferenceHandler -class MainActivity : KotlinBaseActivity(), Handler.Callback { +class MainActivity : KotlinBaseActivity() { private val kTag = "MainActivity" - private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - private lateinit var workSiteListAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 5.dp2px(this) } + private lateinit var workSiteAdapter: NormalRecyclerAdapter private lateinit var workSiteViewModel: WorkSiteViewModel - private var dataBeans: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -47,28 +45,58 @@ val dataRows = it.data?.rows!! when { isRefresh -> { - workSiteListAdapter.refresh(dataRows) binding.refreshLayout.finishRefresh() isRefresh = false + workSiteAdapter.refresh(dataRows) } isLoadMore -> { + binding.refreshLayout.finishLoadMore() + isLoadMore = false if (dataRows.size == 0) { "到底了,别拉了".show(this) } - workSiteListAdapter.loadMore(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false + workSiteAdapter.loadMore(dataRows) } else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2022071502) + workSiteAdapter = object : + NormalRecyclerAdapter( + R.layout.item_work_site_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: WorkSiteListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.workSiteNameView, item.workTitle) + .setText(R.id.constructionUnitView, item.workPersonDeptName) + .setText(R.id.constructionDateView, item.registerTime) + .setText(R.id.leaderNameView, item.workPersonName) + .setText(R.id.leaderPhoneView, item.workPersonPhoneNumber) + .setText(R.id.workSiteView, item.workSiteDesc) + } + } + binding.recyclerView.adapter = workSiteAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, + marginOffset, marginOffset shr 1 + ) + ) + workSiteAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, item: WorkSiteListModel.DataModel.RowsModel + ) { + RuntimeCache.projectId = item.id + navigatePageTo() + } + }) } } } } - obtainProjectListByPage() + getProjectListByPage() // startService(Intent(this, SocketConnectionService::class.java)) // startService(Intent(this, ForegroundRunningService::class.java)) @@ -80,56 +108,24 @@ override fun initEvent() { binding.titleInclude.searchTextView.setOnClickListener { + page = 1 keywords = binding.titleInclude.searchInputView.text.toString() - workSiteViewModel.getProjectListByPage(this, keywords, "", 1) + getProjectListByPage() } binding.refreshLayout.setOnRefreshListener { isRefresh = true page = 1 - obtainProjectListByPage() + getProjectListByPage() } binding.refreshLayout.setOnLoadMoreListener { isLoadMore = true page++ - obtainProjectListByPage() + getProjectListByPage() } } - private fun obtainProjectListByPage() { + private fun getProjectListByPage() { workSiteViewModel.getProjectListByPage(this, keywords, "", page) } - - override fun handleMessage(msg: Message): Boolean { - if (msg.what == 2022071502) { - workSiteListAdapter = - object : NormalRecyclerAdapter( - R.layout.item_working_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: WorkSiteListModel.DataModel.RowsModel - ) { - viewHolder.setText(R.id.workTitleView, item.workTitle) - .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}") - .setText( - R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}" - ) - .setText(R.id.registerTimeView, "施工日期:${item.registerTime}") - .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}") - } - } - binding.recyclerView.adapter = workSiteListAdapter - workSiteListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: WorkSiteListModel.DataModel.RowsModel - ) { - RuntimeCache.projectId = t.id - navigatePageTo() - } - }) - } - return true - } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_stroke_layout_black.xml b/app/src/main/res/drawable/bg_stroke_layout_black.xml new file mode 100644 index 0000000..84ba984 --- /dev/null +++ b/app/src/main/res/drawable/bg_stroke_layout_black.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_work_site_name.xml b/app/src/main/res/drawable/bg_work_site_name.xml deleted file mode 100644 index ee157e2..0000000 --- a/app/src/main/res/drawable/bg_work_site_name.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 653122a..d38ca61 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -20,18 +20,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content" /> - - - - + android:layout_height="wrap_content" + android:paddingVertical="@dimen/dp_3" + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_working_rv.xml b/app/src/main/res/layout/item_working_rv.xml deleted file mode 100644 index 3abc3f3..0000000 --- a/app/src/main/res/layout/item_working_rv.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt index 9ec789c..7514761 100644 --- a/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt +++ b/app/src/main/java/com/casic/br/operationsite/view/MainActivity.kt @@ -1,8 +1,6 @@ package com.casic.br.operationsite.view import android.os.Bundle -import android.os.Handler -import android.os.Message import androidx.lifecycle.ViewModelProvider import com.casic.br.operationsite.R import com.casic.br.operationsite.databinding.ActivityMainBinding @@ -13,18 +11,18 @@ import com.pengxh.kt.lite.adapter.NormalRecyclerAdapter import com.pengxh.kt.lite.adapter.ViewHolder import com.pengxh.kt.lite.base.KotlinBaseActivity +import com.pengxh.kt.lite.divider.RecyclerViewItemOffsets +import com.pengxh.kt.lite.extensions.dp2px import com.pengxh.kt.lite.extensions.navigatePageTo import com.pengxh.kt.lite.extensions.show import com.pengxh.kt.lite.utils.ActivityStackManager -import com.pengxh.kt.lite.utils.WeakReferenceHandler -class MainActivity : KotlinBaseActivity(), Handler.Callback { +class MainActivity : KotlinBaseActivity() { private val kTag = "MainActivity" - private val weakReferenceHandler by lazy { WeakReferenceHandler(this) } - private lateinit var workSiteListAdapter: NormalRecyclerAdapter + private val marginOffset by lazy { 5.dp2px(this) } + private lateinit var workSiteAdapter: NormalRecyclerAdapter private lateinit var workSiteViewModel: WorkSiteViewModel - private var dataBeans: MutableList = ArrayList() private var page = 1 private var isRefresh = false private var isLoadMore = false @@ -47,28 +45,58 @@ val dataRows = it.data?.rows!! when { isRefresh -> { - workSiteListAdapter.refresh(dataRows) binding.refreshLayout.finishRefresh() isRefresh = false + workSiteAdapter.refresh(dataRows) } isLoadMore -> { + binding.refreshLayout.finishLoadMore() + isLoadMore = false if (dataRows.size == 0) { "到底了,别拉了".show(this) } - workSiteListAdapter.loadMore(dataRows) - binding.refreshLayout.finishLoadMore() - isLoadMore = false + workSiteAdapter.loadMore(dataRows) } else -> { - dataBeans = dataRows - weakReferenceHandler.sendEmptyMessage(2022071502) + workSiteAdapter = object : + NormalRecyclerAdapter( + R.layout.item_work_site_rv_l, dataRows + ) { + override fun convertView( + viewHolder: ViewHolder, position: Int, + item: WorkSiteListModel.DataModel.RowsModel + ) { + viewHolder.setText(R.id.workSiteNameView, item.workTitle) + .setText(R.id.constructionUnitView, item.workPersonDeptName) + .setText(R.id.constructionDateView, item.registerTime) + .setText(R.id.leaderNameView, item.workPersonName) + .setText(R.id.leaderPhoneView, item.workPersonPhoneNumber) + .setText(R.id.workSiteView, item.workSiteDesc) + } + } + binding.recyclerView.adapter = workSiteAdapter + binding.recyclerView.addItemDecoration( + RecyclerViewItemOffsets( + marginOffset, marginOffset shr 1, + marginOffset, marginOffset shr 1 + ) + ) + workSiteAdapter.setOnItemClickedListener(object : + NormalRecyclerAdapter.OnItemClickedListener { + override fun onItemClicked( + position: Int, item: WorkSiteListModel.DataModel.RowsModel + ) { + RuntimeCache.projectId = item.id + navigatePageTo() + } + }) } } } } - obtainProjectListByPage() + getProjectListByPage() // startService(Intent(this, SocketConnectionService::class.java)) // startService(Intent(this, ForegroundRunningService::class.java)) @@ -80,56 +108,24 @@ override fun initEvent() { binding.titleInclude.searchTextView.setOnClickListener { + page = 1 keywords = binding.titleInclude.searchInputView.text.toString() - workSiteViewModel.getProjectListByPage(this, keywords, "", 1) + getProjectListByPage() } binding.refreshLayout.setOnRefreshListener { isRefresh = true page = 1 - obtainProjectListByPage() + getProjectListByPage() } binding.refreshLayout.setOnLoadMoreListener { isLoadMore = true page++ - obtainProjectListByPage() + getProjectListByPage() } } - private fun obtainProjectListByPage() { + private fun getProjectListByPage() { workSiteViewModel.getProjectListByPage(this, keywords, "", page) } - - override fun handleMessage(msg: Message): Boolean { - if (msg.what == 2022071502) { - workSiteListAdapter = - object : NormalRecyclerAdapter( - R.layout.item_working_rv, dataBeans - ) { - override fun convertView( - viewHolder: ViewHolder, position: Int, - item: WorkSiteListModel.DataModel.RowsModel - ) { - viewHolder.setText(R.id.workTitleView, item.workTitle) - .setText(R.id.workPersonView, "现场负责人:${item.workPersonName}") - .setText( - R.id.connectionPhoneView, "联系电话:${item.workPersonPhoneNumber}" - ) - .setText(R.id.registerTimeView, "施工日期:${item.registerTime}") - .setText(R.id.workSiteView, "现场描述:${item.workSiteDesc}") - } - } - binding.recyclerView.adapter = workSiteListAdapter - workSiteListAdapter.setOnItemClickedListener(object : - NormalRecyclerAdapter.OnItemClickedListener { - override fun onItemClicked( - position: Int, t: WorkSiteListModel.DataModel.RowsModel - ) { - RuntimeCache.projectId = t.id - navigatePageTo() - } - }) - } - return true - } } \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_stroke_layout_black.xml b/app/src/main/res/drawable/bg_stroke_layout_black.xml new file mode 100644 index 0000000..84ba984 --- /dev/null +++ b/app/src/main/res/drawable/bg_stroke_layout_black.xml @@ -0,0 +1,8 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/bg_work_site_name.xml b/app/src/main/res/drawable/bg_work_site_name.xml deleted file mode 100644 index ee157e2..0000000 --- a/app/src/main/res/drawable/bg_work_site_name.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 653122a..d38ca61 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -20,18 +20,12 @@ android:layout_width="match_parent" android:layout_height="wrap_content" /> - - - - + android:layout_height="wrap_content" + android:paddingVertical="@dimen/dp_3" + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_working_rv.xml b/app/src/main/res/layout/item_working_rv.xml deleted file mode 100644 index 3abc3f3..0000000 --- a/app/src/main/res/layout/item_working_rv.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 7463874..a6f7ead 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -19,6 +19,7 @@ 50dp 60dp 75dp + 85dp 1px