Commit d3852bcf authored by shiyl's avatar shiyl

add 交易列表、交易详情页面开发

parent ba6a6493
package com.yidian.shenghuoquan.newscontent.wallet.adapter
import android.widget.TextView
import com.chad.library.adapter.base.BaseQuickAdapter
import com.chad.library.adapter.base.viewholder.BaseViewHolder
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.wallet.bean.TransactionListItemDto
/**
* 交易列表适配器
*/
class TransactionListAdapter: BaseQuickAdapter<TransactionListItemDto, BaseViewHolder>(R.layout.layout_transaction_list_item) {
override fun convert(holder: BaseViewHolder, item: TransactionListItemDto) {
holder.getView<TextView>(R.id.tv_title).text = item.title
}
}
package com.yidian.shenghuoquan.newscontent.wallet.bean
/**
* 交易列表
*/
data class TransactionListDto(
var data: List<TransactionListItemDto>?,
var total: Int?
)
data class TransactionListItemDto(
var title: String?,
var date: String?,
var type: Int?,
var change: String?,
var balance: String?
)
package com.yidian.shenghuoquan.newscontent.wallet.ui
import android.content.Intent
import android.os.Bundle
import com.yidian.common.XRouterPathConstants
import com.yidian.common.base.BaseActivity
import com.yidian.common.extensions.initTitleBar
import com.yidian.shenghuoquan.newscontent.databinding.ActivityTransactionDetailsBinding
import com.yidian.shenghuoquan.newscontent.wallet.bean.TransactionListItemDto
/**
......@@ -17,4 +21,26 @@ class TransactionDetailsActivity : BaseActivity<ActivityTransactionDetailsBindin
override fun getXPageName(): String {
return XRouterPathConstants.TRANSACTION_DETAILS
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initTitle()
getIntentData(intent)
}
private fun initTitle() {
initTitleBar(viewBind.include.toolbar, viewBind.include.tvTitle, "交易明细")
}
private fun getIntentData(intent: Intent?) {
val paramsMap = intent?.getSerializableExtra(XRouterPathConstants.ParamsKey)
if (paramsMap != null) {
paramsMap as HashMap<*, *>
val itemInfo = paramsMap["TransactionListItemDto"] as TransactionListItemDto
// 明细赋值
// viewBind.tvUserName.text = itemInfo.title
}
}
}
package com.yidian.shenghuoquan.newscontent.wallet.ui
import android.os.Bundle
import com.yidian.common.XRouterPathConstants
import com.yidian.common.base.BaseActivity
import com.yidian.common.extensions.initTitleBar
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityTransactionListBinding
import com.yidian.shenghuoquan.newscontent.wallet.adapter.TransactionListAdapter
import com.yidian.shenghuoquan.newscontent.wallet.bean.TransactionListItemDto
import com.yidian.utils.ToastUtil
/**
* 钱包 - 交易列表
*/
class TransactionListActivity: BaseActivity<ActivityTransactionListBinding>() {
class TransactionListActivity : BaseActivity<ActivityTransactionListBinding>() {
private val adapter = TransactionListAdapter()
override fun createViewBinding(): ActivityTransactionListBinding {
return ActivityTransactionListBinding.inflate(layoutInflater)
......@@ -17,4 +25,50 @@ class TransactionListActivity: BaseActivity<ActivityTransactionListBinding>() {
override fun getXPageName(): String {
return XRouterPathConstants.TRANSACTION_LIST
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initView()
initList()
setupRefreshLayout()
}
private fun initView() {
initTitleBar(viewBind.include.toolbar, viewBind.include.tvTitle, "")
requestTransactionList(true)
}
private fun initList() {
viewBind.rvList.adapter = adapter
adapter.setEmptyView(R.layout.empty_view)
adapter.setOnItemClickListener { adapter, _, position ->
val item = adapter.getItem(position) as TransactionListItemDto
ToastUtil.showToast(this, "携带交易数据进入交易详情")
}
}
/**
* 设置刷新
*/
private fun setupRefreshLayout() {
viewBind.smartRefreshLayout.apply {
setEnableRefresh(true)
setEnableLoadMore(true)
setOnRefreshListener {
requestTransactionList(true)
}
setOnLoadMoreListener {
requestTransactionList(false)
}
}
}
/**
* 请求交易列表
*/
private fun requestTransactionList(refresh: Boolean) {
// 请求成功,给adapter 赋值,更新请求页数和刷新,加载的状态
// adapter.setList(it)
}
}
......@@ -3,6 +3,7 @@ package com.yidian.shenghuoquan.newscontent.wallet.ui
import android.content.Intent
import android.os.Bundle
import android.widget.Toast
import androidx.core.content.ContextCompat
import com.umeng.socialize.UMShareAPI
import com.umeng.socialize.bean.SHARE_MEDIA
import com.yidian.common.XRouterPathConstants
......@@ -13,6 +14,7 @@ import com.yidian.common.extensions.initTitleBar
import com.yidian.common.utils.AuthUtils
import com.yidian.common.utils.CheckApkExistUtil
import com.yidian.news.util.LogUtils
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ActivityWechatAuthBinding
import com.yidian.utils.ToastUtil
import com.yidian.xpage.XPageManager
......@@ -38,6 +40,7 @@ class WeChatAuthActivity : BaseActivity<ActivityWechatAuthBinding>() {
private fun initView() {
initTitleBar(viewBind.include.toolbar, viewBind.include.tvTitle, "")
viewBind.include.toolbar.background = ContextCompat.getDrawable(this, R.color.white)
}
private fun initClick() {
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:background="@color/color_F5F6F7"
android:fitsSystemWindows="true"
android:orientation="vertical">
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<include
android:id="@+id/include"
layout="@layout/layout_common_toolbar" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp16"
android:layout_marginTop="@dimen/dp25"
android:layout_marginEnd="@dimen/dp16"
android:background="@drawable/shape_person_bg"
android:gravity="center"
android:orientation="vertical"
android:paddingTop="@dimen/dp28"
android:paddingBottom="@dimen/dp28">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="金额(元)"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp16" />
<TextView
android:id="@+id/tv_change_account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp5"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp40"
android:textStyle="bold"
tools:text="+1888.00" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp30"
android:orientation="horizontal"
android:paddingStart="@dimen/dp35"
android:paddingTop="@dimen/dp8"
android:paddingEnd="@dimen/dp35"
android:paddingBottom="@dimen/dp8">
<TextView
android:layout_width="@dimen/dp120"
android:layout_height="wrap_content"
android:text="类型"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14" />
<TextView
android:id="@+id/tv_transaction_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
tools:text="交易明细颠三倒" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingStart="@dimen/dp35"
android:paddingTop="@dimen/dp8"
android:paddingEnd="@dimen/dp35"
android:paddingBottom="@dimen/dp8">
<TextView
android:layout_width="@dimen/dp120"
android:layout_height="wrap_content"
android:text="时间"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14" />
<TextView
android:id="@+id/tv_transaction_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
tools:text="2021.06.24 08:12:12" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingStart="@dimen/dp35"
android:paddingTop="@dimen/dp8"
android:paddingEnd="@dimen/dp35"
android:paddingBottom="@dimen/dp8">
<TextView
android:layout_width="@dimen/dp120"
android:layout_height="wrap_content"
android:text="交易单号"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14" />
<TextView
android:id="@+id/tv_transaction_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
tools:text="3275237072034207402374032748723087230" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingStart="@dimen/dp35"
android:paddingTop="@dimen/dp8"
android:paddingEnd="@dimen/dp35"
android:paddingBottom="@dimen/dp8">
<TextView
android:layout_width="@dimen/dp120"
android:layout_height="wrap_content"
android:text="备注"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp14" />
<TextView
android:id="@+id/tv_transaction_remarks"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp14"
tools:text="百利甜情人乳脂奶百利甜情奶百利甜情人乳脂奶百利甜情人乳脂奶情奶百利甜情人乳脂奶百利甜情" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
android:layout_height="match_parent"
android:background="@color/white">
<include
android:id="@+id/include"
layout="@layout/layout_common_toolbar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.scwang.smart.refresh.layout.SmartRefreshLayout
android:id="@+id/smart_refresh_layout"
android:layout_width="0dp"
android:layout_height="0dp"
android:paddingStart="@dimen/dp20"
android:paddingEnd="@dimen/dp20"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/include">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:itemCount="6"
tools:listitem="@layout/layout_transaction_list_item" />
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="暂无数据"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/dp12">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxEms="14"
android:singleLine="true"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0"
tools:text="最多个汉字百利甜情人乳脂奶那就是动荡不定" />
<TextView
android:id="@+id/tv_date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp4"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp12"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/tv_title"
app:layout_constraintTop_toBottomOf="@id/tv_title"
tools:text="2021.06.06 08:12:13" />
<TextView
android:id="@+id/tv_change_account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp16"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0"
tools:text="+6.00" />
<TextView
android:id="@+id/tv_balance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp4"
android:textColor="@color/color_999999"
android:textSize="@dimen/sp12"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@id/tv_change_account"
app:layout_constraintTop_toBottomOf="@id/tv_change_account"
tools:text="余额 60.00" />
<View style="@style/cut_off_line_style"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginTop="@dimen/dp12"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_date" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment