Проще говоря, я делаю модель, которая может быть отправлена (используя @Palcelize), содержащую parcelable (@Palcelize) ,,,, и .... студия android сказала, что она неизвестна Source ,,
в принципе, я пытался не использовать Parcelize ,,,, но когда дело доходит до использования ArrayList ,,, я думаю, я должен использовать, чтобы использовать Parcelize ,,, но не работает ,,,,, я разделил так многодней ... для этой PLZ, помогите мне
Скажите мне в любом случае ... Я в порядке, даже я не мог использовать Parcelize
, это модель, которую я пытался использовать вспособ Parcelable, а также @Parcelize
это модель Комментарий
package com.artilearn.golf_road.Models
import android.os.Parcelable
import com.google.gson.internal.LinkedTreeMap
import kotlinx.android.parcel.Parcelize
import java.text.SimpleDateFormat
import java.util.*
@Parcelize
data class Comment(
var id: Int,
var content: String,
var createdAt: Date?,
var postID : Int?,
var user: User
):Parcelable{
companion object{
fun create(json: LinkedTreeMap<String, Any>): Comment?{
var id = (json.get("id") as? Double)?.toInt()
check(id!=null){
return null
}
var content = json.get("body") as? String
check( content != null){
return null
}
var createdAtString = json.get("createdAt") as? String
var format = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
var createdAt = if(createdAtString!=null){format.parse(createdAtString)} else {null}
var postID = (json.get("normalPostID") as? Double)?.toInt()
var userJSON = json.get("User") as LinkedTreeMap<String, Any>
check(userJSON != null){
return null
}
var user = User.create(userJSON)
check(user!=null){
return null
}
return Comment(id, content, createdAt, postID, user)
}
}
//
//
// constructor(parcel: Parcel) : this(
// id = parcel.readInt(),
// content = parcel.readString(),
// createdAt = parcel.read,
// postID = parcel.readInt(),
// user = parcel.readSerializable(User::class.java.classLoader)
//// user = User.createFromParcel(parcel)
// )
//
// override fun writeToParcel(p0: Parcel?, p1: Int) {
// check(p0 !=null){
// return
// }
//
// p0.writeInt(id)
// p0.writeString(content)
// p0.writeDate(createdAt)
// postID?.let { p0.writeInt(it) }
// p0.writeParcelable(user, 0)
// }
//
// override fun describeContents(): Int {
//
// return 0
// }
//
// companion object CREATOR : Parcelable.Creator<Comment> {
// override fun createFromParcel(parcel: Parcel): Comment {
// return Comment(parcel)
// }
//
// override fun newArray(size: Int): Array<Comment?> {
// return arrayOfNulls(size)
// }
// fun Parcel.writeDate(date: Date?) {
// writeLong(date?.time ?: -1)
// }
// fun Parcel.readDate(): Date? {
// val long = readLong()
// return if (long != -1L) Date(long) else null
// }
// fun create(json: LinkedTreeMap<String, Any>): Comment?{
// var id = (json.get("id") as? Double)?.toInt()
// check(id!=null){
// return null
// }
//
// var content = json.get("body") as? String
// check( content != null){
// return null
// }
//
// var createdAtString = json.get("createdAt") as? String
// var format = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
// var createdAt = if(createdAtString!=null){format.parse(createdAtString)} else {null}
//
// var postID = (json.get("normalPostID") as? Double)?.toInt()
//
//
// var userJSON = json.get("User") as LinkedTreeMap<String, Any>
// check(userJSON != null){
// return null
// }
//
// var user = User.create(userJSON)
// check(user!=null){
// return null
// }
//
// return Comment(id, content, createdAt, postID, user)
// }
//
// }
}
package com.artilearn.golf_road.Models
import android.os.Parcelable
import com.google.gson.internal.LinkedTreeMap
import kotlinx.android.parcel.Parcelize
@Parcelize
data class User(
var id: Int,
var email: String?,
var nickname: String?,
var level: Int,
var profileURL: String?
) : Parcelable {
companion object{
fun create(json: LinkedTreeMap<String, Any>): User?{
var id = (json.get("id") as? Double)?.toInt()
check(id!=null){
return null
}
var email = json.get("email") as? String
var nickname = json.get("nickname") as? String
check(nickname!=null){
return null
}
var level = (json.get("level") as? Double)?.toInt()
check(level!=null){
return null
}
var profileURL = json.get("profileURL") as? String
return User(id, email, nickname, level, profileURL)
}
}
// constructor(parcel: Parcel) : this(
// id = parcel.readInt(),
// email = parcel.readString(),
// nickname = parcel.readString(),
// level = parcel.readInt(),
// profileURL = parcel.readString()
// ) {
// }
//
// override fun writeToParcel(parcel: Parcel, flags: Int) {
// parcel.writeInt(id)
// parcel.writeString(email)
// parcel.writeString(nickname)
// parcel.writeInt(level)
// parcel.writeString(profileURL)
// }
//
// override fun describeContents(): Int {
// return 0
// }
//
// companion object CREATOR : Parcelable.Creator<User> {
// override fun createFromParcel(parcel: Parcel): User {
// return User(parcel)
// }
// override fun newArray(size: Int): Array<User?> {
// return arrayOfNulls(size)
// }
//
// fun create(json:LinkedTreeMap<String, Any>): User?{
// var id = (json.get("id") as? Double)?.toInt()
// check(id!=null){
// return null
// }
// var email = json.get("email") as? String
//
// var nickname = json.get("nickname") as? String
// check(nickname!=null){
// return null
// }
//
// var level = (json.get("level") as? Double)?.toInt()
// check(level!=null){
// return null
// }
//
// var profileURL = json.get("profileURL") as? String
//
// return User(id, email, nickname, level, profileURL)
// }
// }
//
//
}
ошибка ниже
2019-10-31 23:14:32.516 8599-9114/com.artilearn.golf_road E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher
Process: com.artilearn.golf_road, PID: 8599
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/artilearn/golf_road/Models/User$Creator;
at com.artilearn.golf_road.Models.User.<clinit>(Unknown Source:8)
at com.artilearn.golf_road.Models.NormalPost$Companion.create(NormalPost.kt:43)
at com.artilearn.golf_road.Activities.NormalPostFragment$fetchData$1.invoke(NormalPostFragment.kt:93)
at com.artilearn.golf_road.Activities.NormalPostFragment$fetchData$1.invoke(NormalPostFragment.kt:28)
at com.tlsolution.tlsmodules.Network.RequestManager$request$1.onResponse(RequestManager.kt:73)
at okhttp3.RealCall$AsyncCall.run(RealCall.kt:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.artilearn.golf_road.Models.User$Creator" on path: DexPathList[[zip file "/data/app/com.artilearn.golf_road-irKC_zxlZZ-4cU1pX3IPCA==/base.apk"],nativeLibraryDirectories=[/data/app/com.artilearn.golf_road-irKC_zxlZZ-4cU1pX3IPCA==/lib/arm64, /system/lib64]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.artilearn.golf_road.Models.User.<clinit>(Unknown Source:8)
at com.artilearn.golf_road.Models.NormalPost$Companion.create(NormalPost.kt:43)
at com.artilearn.golf_road.Activities.NormalPostFragment$fetchData$1.invoke(NormalPostFragment.kt:93)
at com.artilearn.golf_road.Activities.NormalPostFragment$fetchData$1.invoke(NormalPostFragment.kt:28)
at com.tlsolution.tlsmodules.Network.RequestManager$request$1.onResponse(RequestManager.kt:73)
at okhttp3.RealCall$AsyncCall.run(RealCall.kt:138)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
2019-10-31 23:14:32.537 8599-9114/com.artilearn.golf_road I/Process: Sending signal. PID: 8599 SIG: 9
PLZ, помогите мне ..
даже я ДОЛЖЕН использовать ArrayList
Plz: (