gpt4 book ai didi

java - ViewPager内部 fragment 返回父 fragment 时不显示

转载 作者:行者123 更新时间:2023-12-01 23:43:41 28 4
gpt4 key购买 nike

当我通过操作栏更改父 fragment 时,ViewPager2 内部 fragment 不显示

最初它显示得非常好,但是当我通过操作栏更改为不同的 fragment 并返回时, View 寻呼机不再显示其内容!

这是主要 Activity

private const val NUM_PAGES = 5
class MainActivity : AppCompatActivity() {
private lateinit var appBarConfiguration: AppBarConfiguration
private lateinit var mPager: ViewPager2
private var Defined = false


override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar: Toolbar = findViewById(R.id.toolbar)
setSupportActionBar(toolbar)

val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
val navView: NavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
appBarConfiguration = AppBarConfiguration(
setOf(
R.id.nav_home, R.id.nav_deposit,R.id.nav_account,R.id.nav_portfolio, R.id.nav_pager
), drawerLayout
)
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
}


override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.main, menu)
Defined = true
PagerWorker()
return true
}

override fun onChildTitleChanged(childActivity: Activity?, title: CharSequence?) {
Log.d("Pager Worker","ChildTitleChanged")
super.onChildTitleChanged(childActivity, title)
}

override fun onSupportNavigateUp(): Boolean {
val navController = findNavController(R.id.nav_host_fragment)
return navController.navigateUp(appBarConfiguration) || super.onSupportNavigateUp()
}

fun PagerWorker(){
/** MAKING PAGER STUFF **/
if(Defined == true) {
Log.d("Pager Worker", "1")
val pagerAdapter = ScreenSlidePagerAdapter(this)
mPager = findViewById(R.id.pager)
mPager.adapter = pagerAdapter


}
}
}

class ScreenSlidePagerAdapter(fa: FragmentActivity) : FragmentStateAdapter(fa) {
override fun createFragment(position: Int): Fragment {
return SlideFragment()
}
override fun getItemCount(): Int = NUM_PAGES
fun getItem(position: Int):Fragment{
return SlideFragment()
}


}

这是幻灯片 fragment 代码

package com.main.treasurex.ui.home

import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProviders
import com.main.treasurex.R

class SlideFragment : Fragment() {

override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View = inflater.inflate(R.layout.pager_item, container, false)

}

提前谢谢您!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

最佳答案

已修复:

创建了第二个要调用的 Activity 以显示在 ViewPager 上!!!

关于java - ViewPager内部 fragment 返回父 fragment 时不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58248806/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com