funkwhale-app-android/app/src/main/java/audio/funkwhale/ffa/fragments/BrowseFragment.kt

50 lines
1.3 KiB
Kotlin
Raw Normal View History

package audio.funkwhale.ffa.fragments
2019-08-19 16:50:33 +02:00
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import audio.funkwhale.ffa.adapters.BrowseTabsAdapter
2021-07-16 10:03:52 +02:00
import audio.funkwhale.ffa.databinding.FragmentBrowseBinding
import com.google.android.material.tabs.TabLayoutMediator
2019-08-19 16:50:33 +02:00
class BrowseFragment : Fragment() {
2021-07-16 10:03:52 +02:00
private var _binding: FragmentBrowseBinding? = null
private val binding get() = _binding!!
private var adapter: BrowseTabsAdapter? = null
2019-08-19 16:50:33 +02:00
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
adapter = BrowseTabsAdapter(this)
2019-08-19 16:50:33 +02:00
}
2021-07-16 10:03:52 +02:00
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
_binding = FragmentBrowseBinding.inflate(inflater)
return binding.root.apply {
binding.tabs.getTabAt(0)?.select()
2019-08-19 16:50:33 +02:00
2021-07-16 10:03:52 +02:00
binding.pager.adapter = adapter
binding.pager.offscreenPageLimit = 3
TabLayoutMediator(binding.tabs, binding.pager) { tab, position ->
tab.text = adapter?.tabText(position)
}.attach()
2019-08-19 16:50:33 +02:00
}
}
2021-07-16 10:03:52 +02:00
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}
2019-08-19 16:50:33 +02:00
fun selectTabAt(position: Int) {
2021-07-16 10:03:52 +02:00
binding.tabs.getTabAt(position)?.select()
2019-08-19 16:50:33 +02:00
}
2021-07-02 13:55:49 +02:00
}