Skip to content

Commit

Permalink
[jokot] fiing recycler view null in fragment
Browse files Browse the repository at this point in the history
  • Loading branch information
jokot committed Mar 31, 2020
1 parent 0c3d94f commit 11f425c
Show file tree
Hide file tree
Showing 9 changed files with 71 additions and 47 deletions.
19 changes: 12 additions & 7 deletions app/src/main/java/com/example/jokot/mendiam/BookmarkFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.jokot.mendiam.callback.CallbackLoading
import com.example.jokot.mendiam.callback.CallbackString
import com.example.jokot.mendiam.model.Story
Expand Down Expand Up @@ -38,6 +39,7 @@ class BookmarkFragment : Fragment() {
private val main = MainApps()
private var database = main.database.reference
private val uid = main.uid
private lateinit var rvBookmark: RecyclerView

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
Expand All @@ -49,8 +51,8 @@ class BookmarkFragment : Fragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initData()
initRecycle()
initData()
sr_bookmark.setOnRefreshListener {
initData()
}
Expand All @@ -71,8 +73,10 @@ class BookmarkFragment : Fragment() {
startActivity(intent)
})

rv_bookmark.adapter = adapter
rv_bookmark.layoutManager =
rvBookmark = requireActivity().findViewById(R.id.rv_bookmark)

rvBookmark.adapter = adapter
rvBookmark.layoutManager =
LinearLayoutManager(
context,
LinearLayoutManager.VERTICAL,
Expand All @@ -82,7 +86,7 @@ class BookmarkFragment : Fragment() {
}

private fun initData() {
rv_bookmark.visibility = View.GONE
rvBookmark.visibility = View.GONE
getBookmarkId(object : CallbackLoading {
override fun onCallback() {
getBookmarks()
Expand Down Expand Up @@ -115,13 +119,13 @@ class BookmarkFragment : Fragment() {

private fun getBookmarks() {
adapter.notifyDataSetChanged()
rv_bookmark.visibility = View.GONE
rvBookmark.visibility = View.GONE
if (listBookmarkId.size != 0) {
val lastBId = listBookmarkId[listBookmarkId.size - 1]
getBookmark(object : CallbackString {
override fun onCallback(lastId: String) {
if (lastId == lastBId) {
rv_bookmark.visibility = View.VISIBLE
rvBookmark.visibility = View.VISIBLE
if(pb_bookmark != null){
pb_bookmark.visibility = View.GONE
}
Expand All @@ -132,7 +136,7 @@ class BookmarkFragment : Fragment() {
} else {
listBookmark.clear()
adapter.notifyDataSetChanged()
rv_bookmark.visibility = View.VISIBLE
rvBookmark.visibility = View.VISIBLE
if(pb_bookmark != null){
pb_bookmark.visibility = View.GONE
}
Expand Down Expand Up @@ -173,6 +177,7 @@ class BookmarkFragment : Fragment() {
database.child(main.bookmark).child(it).child(sid).removeValue()
}
}
// rvBookmark.recycledViewPool.clear()
adapter.notifyDataSetChanged()
callbackString.onCallback(sid)
}
Expand Down
13 changes: 8 additions & 5 deletions app/src/main/java/com/example/jokot/mendiam/DraftFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.jokot.mendiam.callback.CallbackLoading
import com.example.jokot.mendiam.model.Story
import com.google.firebase.database.DataSnapshot
Expand Down Expand Up @@ -35,6 +36,7 @@ class DraftFragment : Fragment() {
private var database = main.database.reference

private var uid = ""
private lateinit var rvDraft : RecyclerView

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
Expand All @@ -48,8 +50,8 @@ class DraftFragment : Fragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initData()
initRecycler()
initData()
sr_draft.setOnRefreshListener {
initData()
}
Expand All @@ -73,8 +75,9 @@ class DraftFragment : Fragment() {
adapter.notifyDataSetChanged()
})

rv_draft.adapter = adapter
rv_draft.layoutManager =
rvDraft = requireActivity().findViewById(R.id.rv_draft)
rvDraft.adapter = adapter
rvDraft.layoutManager =
LinearLayoutManager(
context,
LinearLayoutManager.VERTICAL,
Expand All @@ -83,10 +86,10 @@ class DraftFragment : Fragment() {
}

private fun initData() {
rv_draft.visibility = View.GONE
rvDraft.visibility = View.GONE
getDraft(object : CallbackLoading {
override fun onCallback() {
rv_draft.visibility = View.VISIBLE
rvDraft.visibility = View.VISIBLE
if(pb_draft !=null){
pb_draft.visibility = View.GONE
}
Expand Down
13 changes: 8 additions & 5 deletions app/src/main/java/com/example/jokot/mendiam/HomeFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.jokot.mendiam.callback.CallbackLoading
import com.example.jokot.mendiam.model.Story
import com.google.firebase.database.DataSnapshot
Expand All @@ -26,11 +27,12 @@ class HomeFragment : Fragment() {
private var tempStory: MutableList<Story> = mutableListOf()
private var listBookmarkId: MutableList<String> = mutableListOf()

private lateinit var rvHome : RecyclerView

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initData()
initRecycler()
initData()
sr_home.setOnRefreshListener {
initData()
}
Expand All @@ -46,7 +48,7 @@ class HomeFragment : Fragment() {
}

private fun initData() {
rvMain.visibility = View.INVISIBLE
rvHome.visibility = View.INVISIBLE
listStory.clear()
listBookmarkId.clear()

Expand All @@ -58,7 +60,7 @@ class HomeFragment : Fragment() {
pb_home.visibility = View.GONE
}
sr_home.isRefreshing = false
rvMain.visibility = View.VISIBLE
rvHome.visibility = View.VISIBLE
}
})
}
Expand All @@ -79,8 +81,9 @@ class HomeFragment : Fragment() {
startActivity(intent)
})

rvMain.adapter = adapter
rvMain.layoutManager = LinearLayoutManager(
rvHome = requireActivity().findViewById(R.id.rv_home)
rvHome.adapter = adapter
rvHome.layoutManager = LinearLayoutManager(
context,
LinearLayoutManager.VERTICAL,
false
Expand Down
17 changes: 10 additions & 7 deletions app/src/main/java/com/example/jokot/mendiam/LikedStoryFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.jokot.mendiam.callback.CallbackLoading
import com.example.jokot.mendiam.callback.CallbackString
import com.example.jokot.mendiam.model.Story
Expand All @@ -31,6 +32,7 @@ class LikedStoryFragment : Fragment() {
private var database = main.database.reference
private val myUid = main.getUId()
private var uid = ""
private lateinit var rvLikedStory : RecyclerView

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
Expand All @@ -43,8 +45,8 @@ class LikedStoryFragment : Fragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initData()
initRecycle()
initData()
sr_liked_story.setOnRefreshListener {
initData()
}
Expand All @@ -67,8 +69,9 @@ class LikedStoryFragment : Fragment() {
startActivity(intent)
})

rv_liked_story.adapter = adapter
rv_liked_story.layoutManager =
rvLikedStory = requireActivity().findViewById(R.id.rv_liked_story)
rvLikedStory.adapter = adapter
rvLikedStory.layoutManager =
LinearLayoutManager(
context,
LinearLayoutManager.VERTICAL,
Expand All @@ -78,7 +81,7 @@ class LikedStoryFragment : Fragment() {
}

private fun initData() {
rv_liked_story.visibility = View.GONE
rvLikedStory.visibility = View.GONE
getBookmarkId(object : CallbackLoading {
override fun onCallback() {
getLikedStoryId(object : CallbackLoading {
Expand Down Expand Up @@ -116,13 +119,13 @@ class LikedStoryFragment : Fragment() {
private fun getStories() {
try {
adapter.notifyDataSetChanged()
rv_liked_story.visibility = View.GONE
rvLikedStory.visibility = View.GONE
if (listLikedStoryId.size != 0) {
val lastBId = listLikedStoryId[listLikedStoryId.size - 1]
getStory(object : CallbackString {
override fun onCallback(lastId: String) {
if (lastId == lastBId) {
rv_liked_story.visibility = View.VISIBLE
rvLikedStory.visibility = View.VISIBLE
if(pb_liked_story != null){
pb_liked_story.visibility = View.GONE
}
Expand All @@ -133,7 +136,7 @@ class LikedStoryFragment : Fragment() {
} else {
listStory.clear()
adapter.notifyDataSetChanged()
rv_liked_story.visibility = View.VISIBLE
rvLikedStory.visibility = View.VISIBLE
if(pb_liked_story != null){
pb_liked_story.visibility = View.GONE
}
Expand Down
10 changes: 5 additions & 5 deletions app/src/main/java/com/example/jokot/mendiam/PeopleAdapter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class PeopleAdapter(

private val main = MainApps()

private var n = 0
private var following = false

override fun onCreateViewHolder(group: ViewGroup, viewType: Int): ItemViewHolder {
return ItemViewHolder(
Expand Down Expand Up @@ -62,7 +62,7 @@ class PeopleAdapter(

for (uid in listUserFollowing) {
if (uid == list.id) {
n = 1
following = true
itemView.btn_follow.setBackgroundResource(R.drawable.rectangle_btn_following)
itemView.btn_follow.setTextColor(Color.parseColor("#ffffff"))
itemView.btn_follow.text = itemView.context.getString(R.string.following)
Expand All @@ -80,14 +80,14 @@ class PeopleAdapter(

itemView.btn_follow.setOnClickListener {

if (n == 0) {
n++
if (!following) {
following = true
itemView.btn_follow.setBackgroundResource(R.drawable.rectangle_btn_following)
itemView.btn_follow.setTextColor(Color.parseColor("#ffffff"))
itemView.btn_follow.text = itemView.context.getString(R.string.following)
clickFollowing(list)
} else {
n--
following = false
itemView.btn_follow.setBackgroundResource(R.drawable.rectangle_btn_follow)
itemView.btn_follow.setTextColor(Color.parseColor("#AF0505"))
itemView.btn_follow.text = itemView.context.getString(R.string.follow)
Expand Down
18 changes: 11 additions & 7 deletions app/src/main/java/com/example/jokot/mendiam/PeopleFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.jokot.mendiam.callback.CallbackLoading
import com.example.jokot.mendiam.model.User
import com.google.firebase.auth.FirebaseAuth
Expand All @@ -30,7 +31,8 @@ class PeopleFragment : Fragment() {
private var auth = FirebaseAuth.getInstance()
private val main = MainApps()
private var uid = auth.currentUser?.uid.toString()


private lateinit var rvPeople : RecyclerView

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
Expand All @@ -42,8 +44,8 @@ class PeopleFragment : Fragment() {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
initData()
initRecycler()
initData()
sr_people.setOnRefreshListener {
initData()
}
Expand All @@ -61,8 +63,10 @@ class PeopleFragment : Fragment() {
database.child("following").child(uid).child(it.id).setValue(true)
database.child("follower").child(it.id).child(uid).setValue(true)
})
rv_people.adapter = peopleAdapter
rv_people.layoutManager =

rvPeople = requireActivity().findViewById(R.id.rv_people)
rvPeople.adapter = peopleAdapter
rvPeople.layoutManager =
LinearLayoutManager(
context,
LinearLayoutManager.VERTICAL,
Expand All @@ -71,12 +75,12 @@ class PeopleFragment : Fragment() {
}

private fun initData() {
rv_people.visibility = View.GONE
rvPeople.visibility = View.GONE
getFollowingId(object : CallbackLoading {
override fun onCallback() {
getPeople(object : CallbackLoading {
override fun onCallback() {
rv_people.visibility = View.VISIBLE
rvPeople.visibility = View.VISIBLE
if(pb_people != null){
pb_people.visibility = View.GONE
}
Expand Down Expand Up @@ -136,7 +140,7 @@ class PeopleFragment : Fragment() {
listUser.clear()
listUser.addAll(temp)
peopleAdapter.notifyDataSetChanged()
rv_people.visibility = View.VISIBLE
rvPeople.visibility = View.VISIBLE
sr_people.isRefreshing = false
callbackLoading.onCallback()
}
Expand Down
Loading

0 comments on commit 11f425c

Please sign in to comment.