Abd*_*azi 6 android android-fragments kotlin android-studio
有没有可能将片段放在片段中的方法?
我试图将 viewPager 放在片段中并在 OnCreatedView 上编写代码,但它给了我错误!!!
我试过这个,但片段适用于活动中的每个片段!
页面适配器.kt
class pagerAdapter(fm:FragmentManager):FragmentStatePagerAdapter(fm){
override fun getItem(position: Int): Fragment? {
return when(position){
0-> Fragment1()
1-> Fragment2()
else -> null
}
}
override fun getCount(): Int {
return 2
}
fun rotatePosition(position: Int):Int{
return (count -1)-position
}
class pagerAdapter(fm:FragmentManager):FragmentStatePagerAdapter(fm){
override fun getItem(position: Int): Fragment? {
return when(position){
0-> Fragment1()
1-> Fragment2()
else -> null
}
}
override fun getCount(): Int {
return 2
}
fun rotatePosition(position: Int):Int{
return (count -1)-position
}
Run Code Online (Sandbox Code Playgroud)
pageradapter2.kt
class pagerAdapter2(fm: FragmentManager):FragmentStatePagerAdapter(fm){
override fun getItem(position: Int): Fragment? {
return when(position){
0-> BlankFragment()
else->null
}
}
/**
* Return the number of views available.
*/
override fun getCount(): Int {
return 1
}
Run Code Online (Sandbox Code Playgroud)
主活动.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val pagerAdapter2 = pagerAdapter2(supportFragmentManager)
val pager1= findViewById<View>(R.id.pager2) as ViewPager
pager1.adapter = pagerAdapter2
val adapter = pagerAdapter(supportFragmentManager)
val pager = findViewById<View>(R.id.pager) as ViewPager
pager.adapter = adapter
pager.setCurrentItem(adapter.rotatePosition(0), false)
}
Run Code Online (Sandbox Code Playgroud)
PS 第一个答案解决了我的问题。
Mak*_* V. 11
如果您要为活动添加片段,请使用fragmentManager或supportFragmentManager。
如果您为片段添加片段 - 您应该使用childFragmentManager,fragmentManager从片段访问将导致使用与活动相同的片段。
| 归档时间: |
|
| 查看次数: |
4292 次 |
| 最近记录: |