【目的】
ViewPager2を使って画像をきりかえるプログラムをかきたいです。使用している参考書ではViewPagerを選択していましたが、私のAndroid studioではViewPager2しかなく、そちらを選択すると参考書通りのコードを書いてもコンパイルがとおりません。
【コード】
Kotlin
1package com.example.myslideshow 2 3import android.os.Bundle 4import androidx.appcompat.app.AppCompatActivity 5import androidx.fragment.app.Fragment 6import androidx.fragment.app.FragmentPagerAdapter 7import kotlinx.android.synthetic.main.activity_main.* 8 9class MainActivity : AppCompatActivity() { 10 11 class MyAdapter(fm: androidx.fragment.app.FragmentManager) : FragmentPagerAdapter(fm) { 12 private val resources = listOf( 13 R.drawable.slide00, R.drawable.slide01, 14 R.drawable.slide02, R.drawable.slide03, 15 R.drawable.slide04, R.drawable.slide05, 16 R.drawable.slide06, R.drawable.slide07, 17 R.drawable.slide08, R.drawable.slide09 18 ) 19 20 //表示するビューの数 21 override fun getCount(): Int { 22 return resources.size 23 } 24 25 //引数にページ番号を受け取り、ImageFragmentのインスタンスを生成して返している 26 override fun getItem(position: Int): Fragment { 27 return ImageFragment.newInstance(resources[position]) 28 } 29 } 30 31 override fun onCreate(savedInstanceState: Bundle?) { 32 super.onCreate(savedInstanceState) 33 setContentView(R.layout.activity_main) 34 pager.adapter = MyAdapter(supportFragmentManager) 35 } 36}
【エラー】
コンパイルエラーが出ているのはこの部分です
Kotlin
1 pager.adapter = MyAdapter(supportFragmentManager)
エラー内容:
Type mismatch. Required: (RecyclerView.Adapter<RecyclerView.ViewHolder!>?..RecyclerView.Adapter<*>?) Found: MainActivity.MyAdapter
RecyclerViewなんて使っていないのですが...
ですがこちらの記事ViewPager vs ViewPager2を見つけて、RecyclerViewうんぬん言ってくるのはViewPager2を利用しているのが原因なのかな?と推測しております。ただ、解決方法は分かりません????
ーーーーーーーーーーーーーーーーーーーーーーー
どなたか、ご教授くださると幸いです。
宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/13 11:10 編集
2020/09/13 11:27
2020/09/13 15:00