gpt4 book ai didi

kotlin - 获取价格的应用内结算库

转载 作者:行者123 更新时间:2023-12-02 13:22:36 25 4
gpt4 key购买 nike

我的apk已上传到Alpha channel 中,创建了我的产品,如果可以的话,也购买了按钮。

我正在尝试展示要在RecyclerView中购买的几种产品。购买对我有用。 我不能做的是显示产品的价格和标题。

在我的myadapter.kt文件中,我具有以下var var p = ArrayList<String>()和函数:

fun queryskudetails() {

billingClient = BillingClient.newBuilder(context).setListener(this).build()
billingClient.startConnection(object : BillingClientStateListener {
override fun onBillingServiceDisconnected() {
Log.i("Disconnected", "billing client")
}

override fun onBillingSetupFinished(responseCode: Int) {

billingClient.let { billingClient ->


val skulist = ArrayList<String>()
skulist.add("books")
skulist.add("pens")
skulist.add("keychains")

val params = SkuDetailsParams.newBuilder()
params.setSkusList(skulist).setType(BillingClient.SkuType.INAPP)
billingClient.querySkuDetailsAsync(params.build(), { responseCode, skuDetailsList ->

if (responseCode == BillingClient.BillingResponse.OK && skuDetailsList != null) {

for (skuDetails in skuDetailsList) {
val sku = skuDetails.sku
val price = skuDetails.price
Log.i("skudetails", sku)
Log.i("skuprice", price)
hashMap[sku] = price

println("===== price and sku ======")
println(price)
println(sku)
println("===== /proce and sku ======")

// add price to array p1 (defined as a global variable)
p1.add(price)

}

p = precios
}


})
}


}

})
}

onBindViewHolder部分,这是我将价格和标题分配给textView的地方:
override fun onBindViewHolder(holder: Vholder, position: Int) {
queryskudetails()

print("-----Here array price print [] -----")
println (p)


var text: String = array[position]
Log.i("text", text)
holder.textView.text = text
holder.Price.text = hashMap[text.toLowerCase()].toString() // this does not work for me, retun null
Log.i("price", hashMap["books"].toString())

println(hashMap[array[position]]) // retunr null

holder.btn.setOnClickListener(View.OnClickListener {
Log.i("button", text.toLowerCase())
var skuid = hashMap2[text]

val flowParams = BillingFlowParams.newBuilder()
.setSku(text.toLowerCase())
.setType(BillingClient.SkuType.INAPP)

.build()
val responseCode = billingClient.launchBillingFlow(context as Activity?, flowParams)


})
}

当我在textview中显示价格时,以下代码对我不起作用: holder.Price.text = hashMap[text.toLowerCase()].toString(),其中 Pricevar Price: TextView = itemView.findViewById(R.id.price)
作为第二个选项,我尝试使用 p1矩阵,将所有价格存储在 queryskudetails ()函数中,但返回空值。

如何使用p1数组的内容?

最佳答案

价格存储在Map:hashMap中,要使用sku(Google Play控制台中的标识符)来恢复价格

hashMap = {sku1=USD 3.99, sku2=USD 1.99, sku3=USD 3.99}

//to recover the values according to the sku (key)
hashMap[sku1] = USD 3.99
hashMap[sku2] = USD 1.99

正如我在您的代码 holder.Price.text = hashMap[text.toLowerCase()].toString()中看到的那样(在 Text变量中,您必须具有标识符(identifier = sku)才能恢复每种产品的价格),这是正确的,请检查另一部分是否没有冲突或已重复。

关于kotlin - 获取价格的应用内结算库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51902390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com