提交 87788dc6 编写于 作者: B Blankj

see o2/02 log

上级 d90494bc
......@@ -19,7 +19,7 @@ import kotlinx.android.synthetic.main.fragment_child.*
* desc : demo about FragmentUtils
* ```
*/
class ChildFragment : BaseLazyFragment(), FragmentUtils.OnBackClickListener {
class ChildFragment : BaseLazyFragment() {
companion object {
fun newInstance(): ChildFragment {
......@@ -66,9 +66,4 @@ class ChildFragment : BaseLazyFragment(), FragmentUtils.OnBackClickListener {
R.id.fragmentChildRemoveBtn -> FragmentUtils.remove(this);
}
}
override fun onBackClick(): Boolean {
LogUtils.d("child onBackClick")
return false
}
}
......@@ -8,6 +8,7 @@ import android.transition.*
import android.view.View
import com.blankj.lib.base.BaseLazyFragment
import com.blankj.utilcode.pkg.R
import com.blankj.utilcode.pkg.R.id.*
import com.blankj.utilcode.pkg.helper.DialogHelper
import com.blankj.utilcode.util.ColorUtils
import com.blankj.utilcode.util.FragmentUtils
......@@ -122,7 +123,7 @@ class ContainerFragment : BaseLazyFragment(), FragmentUtils.OnBackClickListener
fragmentManager!!,
addSharedElement(ChildFragment.newInstance()),
id,
false,
true,
fragmentRootSharedElementIv
)
}
......
......@@ -11,6 +11,7 @@ import com.blankj.lib.base.BaseActivity
import com.blankj.utilcode.pkg.R
import com.blankj.utilcode.util.FragmentUtils
import kotlinx.android.synthetic.main.activity_fragment.*
import kotlinx.android.synthetic.main.fragment_child.*
/**
* ```
......@@ -29,7 +30,7 @@ class FragmentActivity : BaseActivity() {
}
}
private val mFragments = arrayOfNulls<Fragment>(3)
private val mFragments = arrayListOf<Fragment>()
private var curIndex: Int = 0
private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item ->
......@@ -66,9 +67,9 @@ class FragmentActivity : BaseActivity() {
}
fragmentNav.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
mFragments[0] = RootFragment.newInstance()
mFragments[1] = RootFragment.newInstance()
mFragments[2] = RootFragment.newInstance()
mFragments.add(RootFragment.newInstance())
mFragments.add(RootFragment.newInstance())
mFragments.add(RootFragment.newInstance())
FragmentUtils.add(
supportFragmentManager,
mFragments,
......@@ -83,14 +84,14 @@ class FragmentActivity : BaseActivity() {
override fun onWidgetClick(view: View) {}
override fun onBackPressed() {
if (!FragmentUtils.dispatchBackPress(supportFragmentManager)) {
if (!FragmentUtils.dispatchBackPress(mFragments[curIndex])) {
super.onBackPressed()
}
}
private fun showCurrentFragment(index: Int) {
curIndex = index
FragmentUtils.showHide(index, *mFragments)
FragmentUtils.showHide(index, mFragments)
}
override fun onSaveInstanceState(outState: Bundle, outPersistentState: PersistableBundle) {
......
......@@ -17,7 +17,7 @@ import kotlinx.android.synthetic.main.fragment_root.*
* desc : demo about FragmentUtils
* ```
*/
class RootFragment : BaseLazyFragment() {
class RootFragment : BaseLazyFragment(), FragmentUtils.OnBackClickListener {
companion object {
fun newInstance(): RootFragment {
......@@ -46,4 +46,14 @@ class RootFragment : BaseLazyFragment() {
override fun doLazyBusiness() {}
override fun onWidgetClick(view: View) {}
override fun onBackClick(): Boolean {
if (FragmentUtils.dispatchBackPress(childFragmentManager)) return true
return if (childFragmentManager.backStackEntryCount == 0) {
false
} else {
childFragmentManager.popBackStack()
true
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册