Я застрял на этом и хотел бы получить от вас помощь ребята
когда я запускаю код отладка показывает мне это:
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.intskot, PID: 18308 java.lang.NullPointerException at com.example.intskot.fragments.PostsDetailsFragment$retrievePosts$1.onDataChange(PostDetailsFragment.kt:68) at com.google.firebase.database.core.ValueEventRegistration.fireEvent(ValueEventRegistration.java:75) at com.google.firebase.database.core.view.DataEvent.fire(DataEvent.java:63) at com.google.firebase.database.core.view.EventRaiser$1.run(EventRaiser.java:55) at android.os.Handler.handleCallback(Handler.java:907) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7478) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:549) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:941)
код к этому таков:
package com.example.intskot.fragments import android.content.Context import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.example.intskot.adapter.PostAdapter import com.example.intskot.Model.Post import com.example.intskot.R import com.google.firebase.database.DataSnapshot import com.google.firebase.database.DatabaseError import com.google.firebase.database.FirebaseDatabase import com.google.firebase.database.ValueEventListener class PostsDetailsFragment : Fragment() { private var postAdapter: PostAdapter? = null private var postList: MutableList<Post>? = null private var postId: String = "" override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { // Inflate the layout for this fragment val view = inflater.inflate(R.layout.fragment_post_details, container, false) val preferences = context?.getSharedPreferences("PREFS", Context.MODE_PRIVATE) if (preferences!= null) { postId = preferences.getString("PostId", "none")!! } var recyclerView: RecyclerView recyclerView = view.findViewById(R.id.recycler_view_post_details) recyclerView.setHasFixedSize(true) val linearLayoutManager = LinearLayoutManager(context) recyclerView.layoutManager = linearLayoutManager postList = ArrayList() postAdapter = context?.let { PostAdapter(it, postList as ArrayList<Post>) } recyclerView.adapter = postAdapter retrievePosts() return view } private fun retrievePosts() { val postsRef = FirebaseDatabase.getInstance().reference .child("Posts") .child(postId) postsRef.addValueEventListener(object : ValueEventListener { override fun onDataChange(p0: DataSnapshot) { postList?.clear() val post = p0.getValue(Post::class.java) postList!!.add(post!!) postAdapter!!.notifyDataSetChanged() } override fun onCancelled(p0: DatabaseError) { } }) } }
кто-нибудь поможет?
Что я уже пробовал:
проблема заключается в nullpointerExeption of
postList!!.add(post!!)
но когда я запустил код приложение рухнуло