Fix some compile warnings

Migrate to viewpager2
This commit is contained in:
yuhan6665
2021-07-30 18:31:29 -04:00
parent c7c6564624
commit a2a7d790e7
4 changed files with 13 additions and 14 deletions
+1
View File
@@ -83,6 +83,7 @@ dependencies {
implementation "androidx.preference:preference:1.0.0"
implementation "androidx.recyclerview:recyclerview:1.2.1"
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.viewpager2:viewpager2:1.0.0'
// Androidx ktx
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
@@ -1,21 +1,17 @@
package com.v2ray.ang.ui
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentStatePagerAdapter
import androidx.fragment.app.FragmentActivity
import androidx.viewpager2.adapter.FragmentStateAdapter
class FragmentAdapter(fm: FragmentManager, private val mFragments: List<Fragment>, private val mTitles: List<String>) : FragmentStatePagerAdapter(fm) {
class FragmentAdapter(fragmentActivity: FragmentActivity, private val mFragments: List<Fragment>) :
FragmentStateAdapter(fragmentActivity) {
override fun getItem(position: Int): Fragment {
override fun createFragment(position: Int): Fragment {
return mFragments[position]
}
override fun getCount(): Int {
override fun getItemCount(): Int {
return mFragments.size
}
override fun getPageTitle(position: Int): CharSequence? {
return mTitles[position]
}
}
@@ -4,10 +4,10 @@ import android.graphics.Color
import android.os.Bundle
import com.v2ray.ang.R
import androidx.fragment.app.Fragment
import com.google.android.material.tabs.TabLayoutMediator
import com.v2ray.ang.AppConfig
import com.v2ray.ang.databinding.ActivityRoutingSettingsBinding
class RoutingSettingsActivity : BaseActivity() {
private lateinit var binding: ActivityRoutingSettingsBinding
@@ -29,9 +29,11 @@ class RoutingSettingsActivity : BaseActivity() {
fragments.add(RoutingSettingsFragment().newInstance(AppConfig.PREF_V2RAY_ROUTING_DIRECT))
fragments.add(RoutingSettingsFragment().newInstance(AppConfig.PREF_V2RAY_ROUTING_BLOCKED))
val adapter = FragmentAdapter(supportFragmentManager, fragments, titles.toList())
val adapter = FragmentAdapter(this, fragments)
binding.viewpager.adapter = adapter
binding.tablayout.setTabTextColors(Color.BLACK, Color.RED)
binding.tablayout.setupWithViewPager(binding.viewpager)
TabLayoutMediator(binding.tablayout, binding.viewpager) { tab, position ->
tab.text = titles[position]
}.attach()
}
}
@@ -9,7 +9,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<androidx.viewpager.widget.ViewPager
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />