import
android.os.Bundle
import
androidx.annotation.Nullable
import
androidx.appcompat.app.AppCompatActivity
import
androidx.appcompat.widget.Toolbar
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.FragmentManager
import
androidx.fragment.app.FragmentPagerAdapter
import
androidx.viewpager.widget.ViewPager
import
com.google.android.material.tabs.TabLayout
class
MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super
.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var tab_toolbar = findViewById<Toolbar>(R.id.toolbar)
var tab_viewpager = findViewById<ViewPager>(R.id.tab_viewpager)
var tab_tablayout = findViewById<TabLayout>(R.id.tab_tablayout)
setSupportActionBar(tab_toolbar)
setupViewPager(tab_viewpager)
tab_tablayout.setupWithViewPager(tab_viewpager)
}
private
fun setupViewPager(viewpager: ViewPager) {
var adapter: ViewPagerAdapter = ViewPagerAdapter(supportFragmentManager)
adapter.addFragment(LoginFragment(),
"Login"
)
adapter.addFragment(SignupFragment(),
"Signup"
)
viewpager.setAdapter(adapter)
}
class
ViewPagerAdapter : FragmentPagerAdapter {
private
final
var fragmentList1: ArrayList<Fragment> = ArrayList()
private
final
var fragmentTitleList1: ArrayList<String> = ArrayList()
public
constructor(supportFragmentManager: FragmentManager)
:
super
(supportFragmentManager)
override fun getItem(position: Int): Fragment {
return
fragmentList1.get(position)
}
@Nullable
override fun getPageTitle(position: Int): CharSequence {
return
fragmentTitleList1.get(position)
}
override fun getCount(): Int {
return
fragmentList1.size
}
fun addFragment(fragment: Fragment, title: String) {
fragmentList1.add(fragment)
fragmentTitleList1.add(title)
}
}
}