@@ -21,30 +21,35 @@ import com.aranandroid.customview.R
2121
2222class FragmentBottom (context : Context ? , attrs : AttributeSet ? ) : LinearLayout(context, attrs) {
2323
24- var view: View
24+ var view: View
2525
26- var radio: RadioGroup
26+ var radio: RadioGroup
2727
2828 var viewPager: ViewPager
2929
30- var fragments: LinkedHashMap <Int ,Fragment >? = null
30+
31+ var changeItme : (group: RadioGroup , checkedId: Int ) -> Unit = {group, checkedId -> }
32+
33+ var fragments: LinkedHashMap <Int , Fragment >? = null
3134 set(value) {
3235 field = value
3336 radio.setOnCheckedChangeListener(RadioGroup .OnCheckedChangeListener { group, checkedId ->
3437 fragments?.keys?.let {
3538 for ((i, key) in it.withIndex()) {
36- if (checkedId == key){
37- viewPager.setCurrentItem(i,true )
39+ if (checkedId == key) {
40+ viewPager.setCurrentItem(i, true )
3841 }
3942 }
4043 }
44+ changeItme(group,checkedId)
4145 })
4246 val fm: FragmentManager = (context as FragmentActivity ).getSupportFragmentManager()
4347 val myFragmentPagerAdapter =
44- fragments?.values?.toList()?.let { MyFragmentPagerAdapter (fm, it) } // new myFragmentPagerAdater记得带上两个参数
48+ fragments?.values?.toList()
49+ ?.let { MyFragmentPagerAdapter (fm, it) } // new myFragmentPagerAdater记得带上两个参数
4550 viewPager.adapter = myFragmentPagerAdapter
4651 viewPager.offscreenPageLimit = 3
47- viewPager.addOnPageChangeListener(object : OnPageChangeListener {
52+ viewPager.addOnPageChangeListener(object : OnPageChangeListener {
4853 override fun onPageScrollStateChanged (state : Int ) {
4954 }
5055
@@ -58,7 +63,7 @@ class FragmentBottom(context: Context?, attrs: AttributeSet?) : LinearLayout(con
5863 override fun onPageSelected (position : Int ) {
5964 fragments?.keys?.let {
6065 for ((i, key) in it.withIndex()) {
61- if (position == i){
66+ if (position == i) {
6267 radio.findViewById<RadioButton >(key).performClick()
6368 }
6469 }
@@ -73,7 +78,7 @@ class FragmentBottom(context: Context?, attrs: AttributeSet?) : LinearLayout(con
7378 viewPager = view.findViewById(R .id.pager)
7479 }
7580
76- constructor (context: Context ? ): this (context,null ){
81+ constructor (context: Context ? ) : this (context, null ) {
7782
7883 }
7984
@@ -83,7 +88,7 @@ class FragmentBottom(context: Context?, attrs: AttributeSet?) : LinearLayout(con
8388// addChildrenForAccessibility()
8489 val children = children
8590 for (child in children) {
86- if (child.id != R .id.fragment_top){
91+ if (child.id != R .id.fragment_top) {
8792 (child.parent as ViewGroup ).removeView(child)
8893 radio.addView(child)
8994 }
@@ -95,7 +100,7 @@ class FragmentBottom(context: Context?, attrs: AttributeSet?) : LinearLayout(con
95100 fm : FragmentManager ? ,
96101 list : List <Fragment >
97102 ) :
98- FragmentPagerAdapter (fm!! ,FragmentPagerAdapter .BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT ) {
103+ FragmentPagerAdapter (fm!! , FragmentPagerAdapter .BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT ) {
99104 private val listfragment // 创建一个List<Fragment>
100105 : List <Fragment >
101106
0 commit comments