前提・実現したいこと
下の画像で赤く囲い、矢印で指しているように、指で右もしくは左にスワイプすると、丸い粒の大きい部分が移動するUIを実装しようとしています。
開発言語はKotlinです。
参考にしている記事は「[Kotlin]AndroidでiOSのUiPageViewControllerのdots(ドット)有を実装」です。
AndroidStudioのNewProjectから「Fragment + ViewModel」を選択し、記事の実装を動かしたいです。
発生している問題・エラーメッセージ
参考にしている記事は「[Kotlin]AndroidでiOSのUiPageViewControllerのdots(ドット)有を実装」は、エミュレータで実現できるコードが全て公開されているわけではないので、実現するために2点問題があります。
① MainActivity.ktに何を書けばいいのか、WalkThroughFirstFragment.ktに何を書けばいいのかわからず、検索方法もなく、階層構造に原因がある可能性も自分だけでは見つけられない
②WalkThroughFragment.ktでエラーが出ているが、記事のプログラムではimport
内容について書かれていなかったため、MainActivity.ktやWalkThroughFirstFragment.ktなどの他のファイルが原因なのか、WalkThroughFragment.ktのimport
に問題があるのか判断できない
現状のコード
WalkThroughFragment.kt
kotlin
1package com.example.dotindicator.ui.main 2 3import androidx.lifecycle.ViewModelProviders 4import android.os.Bundle 5import androidx.fragment.app.Fragment 6import android.view.LayoutInflater 7import android.view.View 8import android.view.ViewGroup 9import com.example.dotindicator.R 10 11class WalkThroughFragment : Fragment() { 12 13 override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { 14 return inflater.inflate(R.layout.fragment_walk_through, container, false) 15 } 16 17 override fun onActivityCreated(savedInstanceState: Bundle?) { 18 super.onActivityCreated(savedInstanceState) 19 20 adapter = WalkThroughFragmentPagerAdapter(childFragmentManager) 21 walk_through_view_pager.adapter = adapter 22 walk_through_indicator.setupWithViewPager(walk_through_view_pager) 23 } 24 25 private inner class WalkThroughFragmentPagerAdapter(manager: FragmentManager) : FragmentPagerAdapter(manager) { 26 27 override fun getItem(position: Int): Fragment? { 28 when (position) { 29 0 -> return WalkThroughFirstFragment() 30 1 -> return WalkThroughSecondFragment() 31 2 -> return WalkThroughThirdFragment() 32 3 -> return WalkThroughFourthFragment() 33 } 34 return null 35 } 36 37 override fun getCount(): Int { 38 return 4 39 } 40 
記事で公開されていたプログラム
fragment_main.xmlとindicator_selector.xmlは、記事のコードそのまま利用していますが、文字制限の都合上、質問ないには掲載できませんでした。

回答1件
あなたの回答
tips
プレビュー