riku
2025-07-02 3013b813e5df6977c0be921928f73b1a3adde290
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package cn.flightfeather.thirdappmodule.module.dataanalysis
 
import android.os.Bundle
import android.support.design.widget.TabLayout
import android.support.v4.app.Fragment
import android.support.v4.app.FragmentManager
import android.support.v4.app.FragmentPagerAdapter
import android.support.v4.content.ContextCompat
import android.support.v4.view.ViewCompat
import android.support.v7.app.AppCompatActivity
import android.view.MenuItem
import cn.flightfeather.thirdappmodule.R
import cn.flightfeather.thirdappmodule.bean.vo.TaskVo
import kotlinx.android.synthetic.main.activity_analysis_tab.*
import kotlinx.android.synthetic.main.layout_toolbar.*
import kotlinx.android.synthetic.main.layout_toolbar.toolbar
import java.util.*
 
/**
 * 2018.11.09
 * @author riku
 * 顶层任务详细信息tab切换页面
 */
class AnalysisTabActivity : AppCompatActivity() {
    //tab标题
    private var tabIndicators = mutableListOf<String>()
    //内容
    private var tabFragments = mutableListOf<Fragment>()
    //viewPager内容页面适配器
    private var contentAdapter: ContentPagerAdapter? = null
    //需要传入的顶层任务对象
    private var taskProgressVo: TaskVo? = null
    private val activityTitle = "任务分析"
 
    override fun onCreate(savedInstanceState: Bundle?) {
        setContentView(R.layout.activity_analysis_tab)
        super.onCreate(savedInstanceState)
        val intent = intent
        taskProgressVo = intent.getSerializableExtra(ARG_PARAM1) as TaskVo
        initToolbar()
        initTab()
        initViewPager()
    }
 
    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        when (item.itemId) {
            android.R.id.home -> finish()
        }
        return super.onOptionsItemSelected(item)
    }
 
    //<editor-fold desc="初始化toolbar">
    private fun initToolbar() {
        setSupportActionBar(toolbar)
        Objects.requireNonNull(supportActionBar)!!.setDisplayHomeAsUpEnabled(true)
        supportActionBar!!.setDisplayShowTitleEnabled(false)
        toolbar_secondTitle!!.text = activityTitle
    }
 
    //</editor-fold>
    //<editor-fold desc="初始化tab栏">
    private fun initTab() {
        tabLayout!!.tabMode = TabLayout.MODE_SCROLLABLE
        tabLayout!!.setTabTextColors(ContextCompat.getColor(this, R.color.gray_btn_bg_color), ContextCompat.getColor(this, R.color.white))
        tabLayout!!.setSelectedTabIndicatorColor(ContextCompat.getColor(this, R.color.white))
        ViewCompat.setElevation(tabLayout!!, 10f)
        tabLayout!!.setupWithViewPager(viewPager) //将tab和viewPager绑定
    }
 
    //</editor-fold>
    //<editor-fold desc="初始化内容界面viewpager">
    private fun initViewPager() {
        tabIndicators.add("详细进度")
        tabIndicators.add("问题分布")
        tabIndicators.add("排名")
        tabFragments.add(ProgressDetailFragment.newInstance(taskProgressVo))
        tabFragments.add(AnalysisProblemFragment())
        //        tabFragments.add(new AnysisRankFragment());
        contentAdapter = ContentPagerAdapter(supportFragmentManager)
        viewPager!!.adapter = contentAdapter
    }
    //</editor-fold>
    /**
     * viewPager适配器
     */
    internal inner class ContentPagerAdapter(fm: FragmentManager?) : FragmentPagerAdapter(fm) {
        override fun getItem(position: Int): Fragment {
            return tabFragments[position]
        }
 
        override fun getCount(): Int {
            return tabIndicators.size
        }
 
        override fun getPageTitle(position: Int): CharSequence? {
            return tabIndicators[position]
        }
    }
 
    companion object {
        const val ARG_PARAM1 = "taskProgressVo"
    }
}