Kotlin - Regular Viewpager (image gallery) inside a normal Fragment, doesn't appear











up vote
0
down vote

favorite












It's simple, I have a viewpager with some images that is include on the fragment layout. When I run the project, all the layout show up but the viewpager doesn't... just like this:



enter image description here



So, I will put here the code that matters. First things first, the Viewpager:



class ViewPageAdapter(private val context: Context) : PagerAdapter(){
private var layoutInflater:LayoutInflater?= null

override fun isViewFromObject(view: View, `object`: Any): Boolean {
return view === `object`
}

override fun getCount(): Int {
return images.size
}

override fun instantiateItem(container: ViewGroup, position: Int): Any {
/**Set our vals to "inflate"**/
layoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
val v = layoutInflater!!.inflate(R.layout.custom_layout, null)
val image = v.findViewById<View>(R.id.image_view) as ImageView

/**Positions of images**/
auxPosition = images[position]

val vp = container as ViewPager

/** Add custom_layout.xml to our viewpager**/
vp.addView(v, 0)

return v
}
}


The respective Fragment:



class FeridasFragment : Fragment() {

internal lateinit var viewPager: ViewPager

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

val conteudo_feridas=inflater!!.inflate(R.layout.fragment_feridas, container, false)

//the viewpager
viewPager = conteudo_feridas.findViewById<View>(R.id.viewPagerGaleria) as ViewPager
val adapter = ViewPageAdapter(activity!!.application)
viewPager.adapter = adapter
viewPager.currentItem = images.size

//nav dots of viewpager
val pageIndicatorView = conteudo_feridas.findViewById<View>(R.id.pageIndicatorView) as PageIndicatorView
pageIndicatorView.setViewPager(viewPagerGaleria)
pageIndicatorView.count = images.size
pageIndicatorView.selection = images.size

return conteudo_feridas
}


The layout of the viewpager:



 <android.support.constraint.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.support.v4.view.ViewPager
android:id="@+id/viewPagerGaleria"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
app:layout_constraintTop_toBottomOf="@id/pageIndicatorView">
</android.support.v4.view.ViewPager>

//Forget about this, is just a indicator
<com.rd.PageIndicatorView
android:id="@+id/pageIndicatorView"
android:layout_width="wrap_content"
app:layout_constraintBottom_toTopOf="@id/viewPagerGaleria"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:piv_padding="50dp"
app:piv_animationType="scale"
app:piv_viewPager="@id/viewPagerGaleria"
android:layout_height="wrap_content"
/>
</android.support.constraint.ConstraintLayout>









share|improve this question


























    up vote
    0
    down vote

    favorite












    It's simple, I have a viewpager with some images that is include on the fragment layout. When I run the project, all the layout show up but the viewpager doesn't... just like this:



    enter image description here



    So, I will put here the code that matters. First things first, the Viewpager:



    class ViewPageAdapter(private val context: Context) : PagerAdapter(){
    private var layoutInflater:LayoutInflater?= null

    override fun isViewFromObject(view: View, `object`: Any): Boolean {
    return view === `object`
    }

    override fun getCount(): Int {
    return images.size
    }

    override fun instantiateItem(container: ViewGroup, position: Int): Any {
    /**Set our vals to "inflate"**/
    layoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
    val v = layoutInflater!!.inflate(R.layout.custom_layout, null)
    val image = v.findViewById<View>(R.id.image_view) as ImageView

    /**Positions of images**/
    auxPosition = images[position]

    val vp = container as ViewPager

    /** Add custom_layout.xml to our viewpager**/
    vp.addView(v, 0)

    return v
    }
    }


    The respective Fragment:



    class FeridasFragment : Fragment() {

    internal lateinit var viewPager: ViewPager

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

    val conteudo_feridas=inflater!!.inflate(R.layout.fragment_feridas, container, false)

    //the viewpager
    viewPager = conteudo_feridas.findViewById<View>(R.id.viewPagerGaleria) as ViewPager
    val adapter = ViewPageAdapter(activity!!.application)
    viewPager.adapter = adapter
    viewPager.currentItem = images.size

    //nav dots of viewpager
    val pageIndicatorView = conteudo_feridas.findViewById<View>(R.id.pageIndicatorView) as PageIndicatorView
    pageIndicatorView.setViewPager(viewPagerGaleria)
    pageIndicatorView.count = images.size
    pageIndicatorView.selection = images.size

    return conteudo_feridas
    }


    The layout of the viewpager:



     <android.support.constraint.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.support.v4.view.ViewPager
    android:id="@+id/viewPagerGaleria"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="8dp"
    app:layout_constraintTop_toBottomOf="@id/pageIndicatorView">
    </android.support.v4.view.ViewPager>

    //Forget about this, is just a indicator
    <com.rd.PageIndicatorView
    android:id="@+id/pageIndicatorView"
    android:layout_width="wrap_content"
    app:layout_constraintBottom_toTopOf="@id/viewPagerGaleria"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:piv_padding="50dp"
    app:piv_animationType="scale"
    app:piv_viewPager="@id/viewPagerGaleria"
    android:layout_height="wrap_content"
    />
    </android.support.constraint.ConstraintLayout>









    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      It's simple, I have a viewpager with some images that is include on the fragment layout. When I run the project, all the layout show up but the viewpager doesn't... just like this:



      enter image description here



      So, I will put here the code that matters. First things first, the Viewpager:



      class ViewPageAdapter(private val context: Context) : PagerAdapter(){
      private var layoutInflater:LayoutInflater?= null

      override fun isViewFromObject(view: View, `object`: Any): Boolean {
      return view === `object`
      }

      override fun getCount(): Int {
      return images.size
      }

      override fun instantiateItem(container: ViewGroup, position: Int): Any {
      /**Set our vals to "inflate"**/
      layoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
      val v = layoutInflater!!.inflate(R.layout.custom_layout, null)
      val image = v.findViewById<View>(R.id.image_view) as ImageView

      /**Positions of images**/
      auxPosition = images[position]

      val vp = container as ViewPager

      /** Add custom_layout.xml to our viewpager**/
      vp.addView(v, 0)

      return v
      }
      }


      The respective Fragment:



      class FeridasFragment : Fragment() {

      internal lateinit var viewPager: ViewPager

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

      val conteudo_feridas=inflater!!.inflate(R.layout.fragment_feridas, container, false)

      //the viewpager
      viewPager = conteudo_feridas.findViewById<View>(R.id.viewPagerGaleria) as ViewPager
      val adapter = ViewPageAdapter(activity!!.application)
      viewPager.adapter = adapter
      viewPager.currentItem = images.size

      //nav dots of viewpager
      val pageIndicatorView = conteudo_feridas.findViewById<View>(R.id.pageIndicatorView) as PageIndicatorView
      pageIndicatorView.setViewPager(viewPagerGaleria)
      pageIndicatorView.count = images.size
      pageIndicatorView.selection = images.size

      return conteudo_feridas
      }


      The layout of the viewpager:



       <android.support.constraint.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.support.v4.view.ViewPager
      android:id="@+id/viewPagerGaleria"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="8dp"
      app:layout_constraintTop_toBottomOf="@id/pageIndicatorView">
      </android.support.v4.view.ViewPager>

      //Forget about this, is just a indicator
      <com.rd.PageIndicatorView
      android:id="@+id/pageIndicatorView"
      android:layout_width="wrap_content"
      app:layout_constraintBottom_toTopOf="@id/viewPagerGaleria"
      app:layout_constraintRight_toRightOf="parent"
      app:layout_constraintLeft_toLeftOf="parent"
      app:piv_padding="50dp"
      app:piv_animationType="scale"
      app:piv_viewPager="@id/viewPagerGaleria"
      android:layout_height="wrap_content"
      />
      </android.support.constraint.ConstraintLayout>









      share|improve this question













      It's simple, I have a viewpager with some images that is include on the fragment layout. When I run the project, all the layout show up but the viewpager doesn't... just like this:



      enter image description here



      So, I will put here the code that matters. First things first, the Viewpager:



      class ViewPageAdapter(private val context: Context) : PagerAdapter(){
      private var layoutInflater:LayoutInflater?= null

      override fun isViewFromObject(view: View, `object`: Any): Boolean {
      return view === `object`
      }

      override fun getCount(): Int {
      return images.size
      }

      override fun instantiateItem(container: ViewGroup, position: Int): Any {
      /**Set our vals to "inflate"**/
      layoutInflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
      val v = layoutInflater!!.inflate(R.layout.custom_layout, null)
      val image = v.findViewById<View>(R.id.image_view) as ImageView

      /**Positions of images**/
      auxPosition = images[position]

      val vp = container as ViewPager

      /** Add custom_layout.xml to our viewpager**/
      vp.addView(v, 0)

      return v
      }
      }


      The respective Fragment:



      class FeridasFragment : Fragment() {

      internal lateinit var viewPager: ViewPager

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

      val conteudo_feridas=inflater!!.inflate(R.layout.fragment_feridas, container, false)

      //the viewpager
      viewPager = conteudo_feridas.findViewById<View>(R.id.viewPagerGaleria) as ViewPager
      val adapter = ViewPageAdapter(activity!!.application)
      viewPager.adapter = adapter
      viewPager.currentItem = images.size

      //nav dots of viewpager
      val pageIndicatorView = conteudo_feridas.findViewById<View>(R.id.pageIndicatorView) as PageIndicatorView
      pageIndicatorView.setViewPager(viewPagerGaleria)
      pageIndicatorView.count = images.size
      pageIndicatorView.selection = images.size

      return conteudo_feridas
      }


      The layout of the viewpager:



       <android.support.constraint.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.support.v4.view.ViewPager
      android:id="@+id/viewPagerGaleria"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="8dp"
      app:layout_constraintTop_toBottomOf="@id/pageIndicatorView">
      </android.support.v4.view.ViewPager>

      //Forget about this, is just a indicator
      <com.rd.PageIndicatorView
      android:id="@+id/pageIndicatorView"
      android:layout_width="wrap_content"
      app:layout_constraintBottom_toTopOf="@id/viewPagerGaleria"
      app:layout_constraintRight_toRightOf="parent"
      app:layout_constraintLeft_toLeftOf="parent"
      app:piv_padding="50dp"
      app:piv_animationType="scale"
      app:piv_viewPager="@id/viewPagerGaleria"
      android:layout_height="wrap_content"
      />
      </android.support.constraint.ConstraintLayout>






      android kotlin android-viewpager fragment show






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 19 at 11:49









      Pedro Relvas

      437




      437





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53374043%2fkotlin-regular-viewpager-image-gallery-inside-a-normal-fragment-doesnt-app%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53374043%2fkotlin-regular-viewpager-image-gallery-inside-a-normal-fragment-doesnt-app%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Costa Masnaga

          Fotorealismo

          Sidney Franklin