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:
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
add a comment |
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:
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
add a comment |
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:
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
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:
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
android kotlin android-viewpager fragment show
asked Nov 19 at 11:49
Pedro Relvas
437
437
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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