마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 앱 뷰페이저 갱신

0 추천

안녕하세요~~ 코틀린으로 어플을 개발중인 초보 개발자입니다

프래그먼트 뷰플리퍼에 관한 질문입니다.

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로 검색어를 입력하면 첫 번째 프래그먼트로 이동하게되고, 검색 결과를 확인하려면 다시 페이지를 옆으로 넘겨야 하는 상황입니다.

검색어를 입력할때 사용자가 선택한 프래그먼트로 고정할 수 있는 방법이 있나요?

병쥐 (300 포인트) 님이 2019년 8월 5일 질문

1개의 답변

+1 추천
 
채택된 답변

viewpager에  setCurrentItem(int item, boolean smoothScrol) 라는 메소드로 현재 페이지를 정해 이동시켜주는 메소드가 있어요. TextWatcher에서 저 메소드 호출하시면 될듯해요.

익명사용자 님이 2019년 8월 6일 답변
병쥐님이 2019년 8월 9일 채택됨
덕분에 잘 해결하였습니다. 감사합니다!!! 좋은하루되세용
...