0

I'm trying to do Automatic image slider in fragment in kotlin. Any possible solutions?? I tried couple of other things also. But not a possible solution, I can do image slide inside the main activity but not to do the automatic sliding in fragments....

fragment_home.xml

Here is the XML File

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".HomeFragment">

    <!-- TODO: Update blank fragment layout -->


        <com.denzcoskun.imageslider.ImageSlider
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:id="@+id/imageSlider"
            app:iss_auto_cycle="true"
            app:iss_delay="0"
            app:iss_placeholder="@color/grey_font"
            app:iss_error_image="@color/grey_font"
            app:iss_corner_radius="5"
            app:iss_selected_dot="@drawable/default_selected_dot"
            app:iss_unselected_dot="@drawable/default_unselected_dot"
            app:iss_period="1000">
        </com.denzcoskun.imageslider.ImageSlider>

</FrameLayout>

HomeFragment.kt

//This is kotlin file

package com.example.fragments

import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.denzcoskun.imageslider.ImageSlider
import com.denzcoskun.imageslider.constants.ScaleTypes
import com.denzcoskun.imageslider.models.SlideModel

// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private const val ARG_PARAM1 = "param1"
private const val ARG_PARAM2 = "param2"




/**
 * A simple [Fragment] subclass.
 * Use the [HomeFragment.newInstance] factory method to
 * create an instance of this fragment.
 */
class HomeFragment : Fragment() {
    // TODO: Rename and change types of parameters
    private var param1: String? = null
    private var param2: String? = null

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        arguments?.let {
            param1 = it.getString(ARG_PARAM1)
            param2 = it.getString(ARG_PARAM2)

        }

    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?

    ): View? {

        // Inflate the layout for this fragment

//Here it is showing error on FindViewById

        val imageSlider = findViewById<ImageSlider>(R.id.imageSlider) // HERE IS THE ERROR

        val imageList = ArrayList<SlideModel>()
        imageList.add(SlideModel("https://www.flickr.com/photos/zillniazi/44334678732","Babusar"))
        imageList.add(SlideModel("https://www.flickr.com/photos/zillniazi/44334678732","Babusar"))
        imageList.add(SlideModel("https://www.flickr.com/photos/zillniazi/44334678732","Babusar"))
        imageList.add(SlideModel("https://www.flickr.com/photos/zillniazi/44334678732","Babusar"))
        imageList.add(SlideModel("https://www.flickr.com/photos/zillniazi/44334678732","Babusar"))

        imageSlider.setImageList(imageList, ScaleTypes.FIT)

        return inflater.inflate(R.layout.fragment_home, container, false)

    }

    companion object {
        /**
         * Use this factory method to create a new instance of
         * this fragment using the provided parameters.
         *
         * @param param1 Parameter 1.
         * @param param2 Parameter 2.
         * @return A new instance of fragment HomeFragment.
         */
        // TODO: Rename and change types and number of parameters
        @JvmStatic
        fun newInstance(param1: String, param2: String) =
            HomeFragment().apply {
                arguments = Bundle().apply {
                    putString(ARG_PARAM1, param1)
                    putString(ARG_PARAM2, param2)
                }
            }
    }
}

0 Answers0