我尝试在api中发送不同类型的post参数,但它无法正常工作。知道为什么吗?
这是我的代码。
首先,我将我的参数包装在一个简单的容器中,并将其作为参数传递给AsyncTask,如下所示:
class MyParams {
var paramName: String = ""
var paramaddress: String = ""
var paramlatitude: Float = 0.toFloat()
var paramlongitude: Float = 0.toFloat()
constructor(funName: String, funAddress: String, funLatitude: Float, funLongitude: Float) {
this.paramName = funName
this.paramaddress = funAddress
this.paramlatitude = funLatitude
this.paramlongitude = funLongitude
}
}
class myClass : AsyncTask<MyParams, Void, String>() {
override fun onPreExecute() {
super.onPreExecute()
}
override fun onPostExecute(httpResponseMsg: String) {
super.onPostExecute(httpResponseMsg)
...
}
override fun doInBackground(vararg params: MyParams): String {
var name = params[0].paramName
var address = params[0].paramaddress
var latuitude = params[0].paramlatitude
var longitude = params[0].paramlongitude
hashMap["name"] = name
hashMap["address"] = address
hashMap["latuitude"] = latuitude
hashMap["longitude"] = longitude
finalResult = httpParse.postRequest(hashMap, HttpURL)
println("responseeeeeeeee-----="+finalResult)
return finalResult
}
}
val params = MyParams(funName,funAddress,funLatitude,funLongitude)
val myTask = myClass()
myTask.execute(params)
但是在这行hashMap["name"]=name
我得到了以下错误:
类型推断失败:无法推断内联运算符乐趣MutableMap. set中的类型参数V(key:K,value:V):Unit以下替换接收器均无:MutableMap参数:(String,Params)接收器:MutableMap参数:(String,String)可以应用于接收器:HashMap参数:(String,String)
正如您所说,您将hashMap
声明为HashMap类型的变量
要解决这个问题,您应该将
MyParams
更改为String
(即val hashMap=HashMap
顺便说一句,
var参数纬度:Float=0. toFloat()
可以简化为var参数纬度=0F
匿名用户
var name=params[0]. paramName
是一个字符串
var地址=params[0]。参数地址
是一个字符串
所以当你这样做的时候:
hashMap["name"] = name
hashMap["address"] = address
使用这样的Hashmapvar hashMap=java. util.HashMap
更改Hashmap的类型或在Hashmap的值中发送类型MyParams。
相关问题
- Android:在模块jefied-play-services-测量和jefied-play-services-测量-impl中发现重复类
- 在Hashmap中查找匹配的键/值对
- 如何迭代Hashmap并与同一Hashmap中的其他键进行组合以比较它们的对象
- HashCode-如果相等的对象碰巧在同一个桶中散列会发生什么?
- 如何防止对数组中类对象的重复引用?
- 如何以及何时在HashMap中完成重新散列
- 在hashmap或hashtable中重新散列的成本
- HashMap如何识别内部数组中的哪些位置包含元素?
- 当HashMap增加其大小时,HashMap中值的索引会发生什么?
- @BeforeClass在ktor测试类中不工作
- Jest vanilla JavaScript JSDOM刷新失败,切换beforeAll到before每一个后的第二次测试中断
- 在笑话中,定义全局变量是否与在BeforeAll中定义相同?
- 静态编程语言中@BeforeAll的正确解决方法是什么
- 线程“main”java. lang.NoClassDefFoundError中的异常:在Intellij[Spring boot]中
- 线程“main”java. lang.NoClassDefFoundError中的异常:org/apache/log4j/ProvisionNode
- 异步管道是否从服务中定义并从组件变量指向的可观察对象取消订阅?
- 结合主体时不更新在模板中的异步管道可观察
- 组件中的Angular 2重复订阅
- 应该在ngOnDestroy()中将Angular组件变量设置为null吗?
- 我必须取消订阅ActivatedRoute(例如参数)可观察对象吗?