androidにてカルーセルを実装したい

前提

androidstudioについて質問します。以下のURLにてカルーセルを実装しようとしたところ、エラーが出てきて動きませんでした。
今までjavaでしか触ったことがなく、kotlinについては全くと言っていいほど分かりません。
このitemのtextってurlのどの部分を参照していますでしょうか。また、
どのようにしたらurlみたいなきれいなカルーセルが実行できますか
https://qiita.com/Nabe1216/items/c765cd9673c0533e4185

実現したいこと

androidにてカルーセルを作成したい

発生している問題・エラーメッセージ

Unresolved reference: text

該当のソースコード

activity_main.xml

1<androidx.constraintlayout.motion.widget.MotionLayout 2 xmlns:android="http://schemas.android.com/apk/res/android xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/motionLayout" android:layout_width="match_parent" android:layout_height="match_parent" app:layoutDescription="@xml/carousel_scene"> 3 <androidx.constraintlayout.helper.widget.Carousel 4 android:id="@+id/carousel" 5 android:layout_width="wrap_content" 6 android:layout_height="wrap_content" 7 app:carousel_backwardTransition="@+id/backward" 8 app:carousel_forwardTransition="@+id/forward" 9 app:carousel_nextState="@+id/next" 10 app:carousel_previousState="@+id/previous" 11 app:carousel_firstView="@+id/textView2" 12 app:constraint_referenced_ids="textView0,textView1,textView2,textView3,textView4" /> 13 14 <TextView 15 android:id="@+id/textView0" 16 android:layout_width="100dp" 17 android:layout_height="100dp" 18 android:layout_marginEnd="16dp" 19 android:text="textView0" 20 app:layout_constraintBottom_toBottomOf="parent" 21 app:layout_constraintEnd_toStartOf="@+id/textView1" 22 app:layout_constraintTop_toTopOf="parent" /> 23 <TextView 24 android:id="@+id/textView1" 25 android:layout_width="100dp" 26 android:layout_height="100dp" 27 android:layout_marginEnd="16dp" 28 android:text="textView1" 29 app:layout_constraintBottom_toBottomOf="parent" 30 app:layout_constraintEnd_toStartOf="@+id/textView2" 31 app:layout_constraintTop_toTopOf="parent" /> 32 33 <TextView 34 android:id="@+id/textView2" 35 android:layout_width="150dp" 36 android:layout_height="150dp" 37 android:text="textView2" 38 app:layout_constraintBottom_toBottomOf="parent" 39 app:layout_constraintEnd_toEndOf="parent" 40 app:layout_constraintHorizontal_bias="0.5" 41 app:layout_constraintStart_toStartOf="parent" 42 app:layout_constraintTop_toTopOf="parent" /> 43 44 <TextView 45 android:id="@+id/textView3" 46 android:layout_width="100dp" 47 android:layout_height="100dp" 48 android:layout_marginStart="16dp" 49 android:text="textView3" 50 app:layout_constraintBottom_toBottomOf="parent" 51 app:layout_constraintStart_toEndOf="@+id/textView2" 52 app:layout_constraintTop_toTopOf="parent" /> 53 <TextView 54 android:id="@+id/textView4" 55 android:layout_width="100dp" 56 android:layout_height="100dp" 57 android:layout_marginStart="16dp" 58 android:text="textView4" 59 app:layout_constraintBottom_toBottomOf="parent" 60 app:layout_constraintStart_toEndOf="@+id/textView3" 61 app:layout_constraintTop_toTopOf="parent" /> 62 63 <androidx.constraintlayout.widget.Guideline 64 android:id="@+id/guideline" 65 android:layout_width="wrap_content" 66 android:layout_height="wrap_content" 67 android:orientation="vertical" 68 app:layout_constraintGuide_begin="100dp" /> 69 <androidx.constraintlayout.widget.Guideline 70 android:id="@+id/guideline2" 71 android:layout_width="wrap_content" 72 android:layout_height="wrap_content" 73 android:orientation="vertical" 74 app:layout_constraintGuide_end="100dp" /> 75</androidx.constraintlayout.motion.widget.MotionLayout>

carousel_scene.xml

1文字数オーバーしたのでurlを参照してください。何もいじっていません

MainActivity.kt

1import androidx.appcompat.app.AppCompatActivity 2import android.os.Bundle 3import android.view.View 4import android.widget.TextView 5import androidx.constraintlayout.helper.widget.Carousel 6 7class MainActivity : AppCompatActivity() { 8 override fun onCreate(savedInstanceState: Bundle?) { 9 super.onCreate(savedInstanceState) 10 setContentView(R.layout.activity_main) 11 12 val carousel = findViewById<Carousel>(R.id.carousel) 13 carousel.setAdapter(object : Carousel.Adapter { 14 val list = arrayOf<Int>(1, 2, 3, 4) 15 override fun count(): Int = list.size 16 17 override fun populate(view: View, index: Int) { 18 if (view !is TextView) return 19 val item = list[index] 20 view.text = item.text 21 } 22 23 override fun onNewItem(index: Int) { 24 } 25 }) 26 } 27}

コメントを投稿

0 コメント