안드로이드 앱 뷰페이저 갱신
조회수 687회
안녕하세요~~ 의존할 곳이 여기밖에 없네요..ㅎㅎ
프래그먼트 뷰플리퍼 갱신에 관한 질문입니다.
class SearchViewPagerAdapter(var fragNum : Int, fm : FragmentManager, searchText : String) : FragmentStatePagerAdapter(fm) {
val firstFrag : Fragment = SearchTagsFragment(searchText)
val secondFrag : Fragment = SearchAccountsFragment(searchText)
// position 별로 어느 Fragment로 이동할지 결정
override fun getItem(position: Int): Fragment? {
return when (position) {
0 -> firstFrag
1 -> secondFrag
else -> null
}
}
// 몇 개의 Fragment인지 결정
override fun getCount(): Int = fragNum
위의 코드가 viewpager adapter.kt 입니다.
문제는, 두 번째 프래그먼트(SearchAccountFragment)에서 TextWatcher로 검색기능을 수행할 때 첫 번째 프래그먼트로 이동하고, 검색 결과를 확인하려면 다시 페이지를 옆으로 넘겨야 하는 상황입니다.
프래그먼트 갱신 관련해서 검색을 해보니 아래 코드를 MainActivity에 넣으라고 하더군요..
fun refresh(){
SearchViewPagerAdapter.notifyDataSetChanged()
}
그런데 아무리 viewpager adapter 에 이것저것 (companion object, interface . . .. ) 넣어봐도 notifyDataSetChanged()에 빨간줄이 계속 뜹니다..
이걸 어떻게 해결할까요?
앱개발한지 얼마되지 않아 부족한 점이 많습니다 ㅜㅜ 고수분들의 답변 부탁드립니다.
감사합니다!
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
SearchViewPagerAdapter
에getItemPosition()
를 추가하면 아마 될 거예요
댓글 입력