Я не уверен, как оптимизировать модернизацию с обратным вызовом в Котлине или как удалить обратный вызов после его заверAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Я не уверен, как оптимизировать модернизацию с обратным вызовом в Котлине или как удалить обратный вызов после его завер

Сообщение Anonymous »

Я использую обратные вызовы в Kotlin, и в настоящее время у меня есть точная функция модификации, возвращающая результат в форме обратного вызова, поскольку она используется несколько раз в разных классах, конечные точки разные, но структура вызова всегда одна и та же п>

Код: Выделить всё

RetrofitInstance().UserAction("retrieveChatForUser",cuserData){ returnMessage->
if(returnMessage.status==true) {
val chatList = returnMessage.content as List
adapter.setData(chatList)
}
}
и мой общий класс модернизации выглядит так

Код: Выделить всё

class RetrofitInstance {

fun UserAction(action:String, userData: UserData, toUserData: UserData?=null, returnCallback:(ReturnMessage)->Unit){
val retrofit = Retrofit.Builder()
.baseUrl(CommonVals.base_url)
.addConverterFactory(GsonConverterFactory.create())
.build()
val service: RestApiUser = retrofit.create(RestApiUser::class.java)
val callAuth: Call = service.authOraddUser(action, userData.username,userData.phonenumber,toUserData?.username)
callAuth.enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
if (response.isSuccessful) {
val post = response.body()
post?.let { post->
Log.d("api","${action} ${post}")
returnCallback(post)
}
} else {
Log.d("apierror", "${action} error ${response.code()}")
}
}
override fun onFailure(call: Call, t: Throwable) {
Log.d("apierror","${action} error ${t.message}")
}
})
}

private interface RestApiUser {
@FormUrlEncoded
@POST("{action}")
fun authOraddUser(
@Path("action") action:String,
@Field("username") username: String?=null,
@Field("password") password: String?=null,
@Field("username2") username2: String?=null,
): Call
}
В настоящее время я не уверен, будут ли обратные вызовы удалены сразу после выполнения; если да, то я не уверен, как удалить их после получения обратного вызова, поскольку я хочу сделать класс объектом, чтобы не создавать несколько экземпляров объектов

Подробнее здесь: https://stackoverflow.com/questions/786 ... -to-remove
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»