我如何显示数据从api只有单一的数据?



我是kotlin新手,找不到相关的解决方案。我要做的是从api(金额和货币)获得数据,并显示它的onclick。我可以循环数据,但我不知道如何取消循环。

api的响应如下:

{
"data": {
"amount": 825,
"currency": "hkd"
}
}

我的模型:

data class MainData(
var data: AmountData
)
data class AmountData(
val amount: Int,
val currency: String,
)
我ApiService

:

interface ApiService {
@GET("posts")
fun getPosts(): Call<MutableList<PostModel>>
@GET("checkout/vend/CLIENT_ID/payment/request")
fun paymentRequest(): Call<MainData>
}

我的适配器:

class PaymentAdapter(private val mainData: MainData): RecyclerView.Adapter<PaymentViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): PaymentViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.card_post, parent, false)
return PaymentViewHolder(view)
}
override fun onBindViewHolder(holder: PaymentViewHolder, position: Int) {
return holder.bindView(mainData) // I don't even know how to bind the data
}
override fun getItemCount(): Int {
return mainData.data.amount // This is also incorrect but I don't know what to do
}
}
class PaymentViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){
private val tvAmount: TextView = itemView.findViewById(R.id.tvAmount)
private val tvCurrency: TextView = itemView.findViewById(R.id.tvCurrency)
fun bindView(mainData: MainData){
tvAmount.text = mainData.data.amount.toString()
tvCurrency.text = mainData.data.currency
}
}

这是目前为止的结果。

因为你只有一个项目所以你可以直接做

override fun getItemCount(): Int {
return 1
}

它可能已经给出了你想要的

虽然,这真的是没有必要使用一个回收视图。我会移除RecyclerView然后添加两个textview之类的

最新更新