Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- data class Item (val myDialogTitle: String,
- val myDialogDescription: String)
- class MyDialogAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm) {
- private var mTitleCollection: MutableList<String> = ArrayList()
- private var mFragmentCollection: MutableList<Fragment> = ArrayList()
- fun addFragment(title: String, fragment: Fragment) {
- mTitleCollection.add(title)
- mFragmentCollection.add(fragment)
- }
- override fun getPageTitle(position: Int): CharSequence? {
- return mTitleCollection[position]
- }
- override fun getItem(position: Int): Fragment {
- return mFragmentCollection[position]
- }
- override fun getCount(): Int {
- return mFragmentCollection.size
- }
- }
- class MyDialog(val myList: ArrayList<Item>) : DialogFragment() {
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
- return customView
- }
- override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
- val b = AlertDialog.Builder(activity)
- .setTitle("Dialog Title")
- .setPositiveButton(getString(android.R.string.ok)) { dialog, _ -> dialog.dismiss() }
- val adapter = MyDialogAdapter(childFragmentManager)
- for (item in myListTitles) {
- adapter.addFragment(id, MyDialog.createInstance(myListDescriptions[id]))
- }
- b.setView(customView)
- return b.create()
- }
- }
- class MyFragment : androidx.fragment.app.Fragment() {
- private lateinit var mRecyclerView: RecyclerView
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
- return inflater.inflate(R.layout.fragment_rv, container, false)
- }
- override fun onActivityCreated(savedInstanceState: Bundle?) {
- val v = view
- mRecyclerView = v!!.findViewById<RecyclerView>(R.id.my_recyclerview)
- mRecyclerView.layoutManager = LinearLayoutManager(activity)
- val myList = ArrayList<Item>()
- val myListTitles = ArrayList<String>()
- myListTitles.add("Tab A")
- myListTitles.add("Tab B")
- myListTitles.add("Tab C")
- val myListDescriptions = ArrayList<String>()
- myListDescriptions.add("Description A")
- myListDescriptions.add("Description B")
- myListDescriptions.add("Description C")
- val mAdapter = MyAdapter(myList, childFragmentManager)
- mRecyclerView.adapter = mAdapter
- super.onActivityCreated(savedInstanceState)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement