#java #android #text #carousel
#java #Android #текст #карусель
Вопрос:
Я работаю над проектом, в котором я создал Карусель, используя эту библиотеку.
Я также хочу показать описание изображения в текстовом представлении, которое должно меняться по мере изменения изображения. Я не могу изменить TextView при изменении изображения. Что я должен сделать, чтобы это произошло?
Мой Java-код:
public class Carousel extends AppCompatActivity {
CarouselView carouselView;
int[] sampleImages = {R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about_devs);
carouselView = findViewById(R.id.carouselView);
carouselView.setPageCount(sampleImages.length);
carouselView.setImageListener(imageListener);
}
ImageListener imageListener = (position, imageView) -> imageView.setImageResource(sampleImages[position]);
Мой XML-код:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/retro_red"
tools:context=".AboutDevs">
<TextView
android:id="@ id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/pragya"
android:text="@string/about_devs"
android:textColor="@color/white"
android:textSize="28sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.074" />
<com.synnapps.carouselview.CarouselView
android:id="@ id/carouselView"
android:layout_width="400dp"
android:layout_height="450dp"
android:layout_marginTop="28dp"
android:layout_marginEnd="4dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@ id/textView5"
app:layout_constraintVertical_bias="0.235" />
</androidx.constraintlayout.widget.ConstraintLayout>
Я знаю, что это может быть глупо спрашивать, но я не могу понять это. Я был бы признателен за любую помощь.
Ответ №1:
Из вашего xml я вижу, что вы используете библиотеку просмотра Carousel, как вы упомянули, но библиотека просмотра Carousel не поддерживает прослушиватель изображений, поэтому лучше всего было бы либо изменить вашу библиотеку, либо использовать фрагменты в своей деятельности, подробнее об этом здесь
Ответ №2:
Я не уверен, правильно ли я понимаю ваш вопрос, но
ImageListener imageListener = new ImageListener() {
@Override
public void setImageForPosition(int position, ImageView imageView) {
imageView.setImageResource(sampleImages[position]);
}
};
Разве вы не можете просто добавить настройку вашего значения textview в этот метод?