Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.55 KB | None | 0 0
  1. data class Item (val myDialogTitle: String,
  2. val myDialogDescription: String)
  3.  
  4. class MyDialogAdapter(fm: FragmentManager) : FragmentPagerAdapter(fm) {
  5. private var mTitleCollection: MutableList<String> = ArrayList()
  6. private var mFragmentCollection: MutableList<Fragment> = ArrayList()
  7.  
  8. fun addFragment(title: String, fragment: Fragment) {
  9. mTitleCollection.add(title)
  10. mFragmentCollection.add(fragment)
  11. }
  12.  
  13. override fun getPageTitle(position: Int): CharSequence? {
  14. return mTitleCollection[position]
  15. }
  16.  
  17. override fun getItem(position: Int): Fragment {
  18. return mFragmentCollection[position]
  19. }
  20.  
  21. override fun getCount(): Int {
  22. return mFragmentCollection.size
  23. }
  24. }
  25.  
  26. class MyDialog(val myList: ArrayList<Item>) : DialogFragment() {
  27. override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
  28. return customView
  29. }
  30.  
  31. override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
  32. val b = AlertDialog.Builder(activity)
  33. .setTitle("Dialog Title")
  34. .setPositiveButton(getString(android.R.string.ok)) { dialog, _ -> dialog.dismiss() }
  35.  
  36. val adapter = MyDialogAdapter(childFragmentManager)
  37. for (item in myListTitles) {
  38. adapter.addFragment(id, MyDialog.createInstance(myListDescriptions[id]))
  39. }
  40.  
  41. b.setView(customView)
  42. return b.create()
  43. }
  44. }
  45.  
  46. class MyFragment : androidx.fragment.app.Fragment() {
  47. private lateinit var mRecyclerView: RecyclerView
  48.  
  49. override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
  50. return inflater.inflate(R.layout.fragment_rv, container, false)
  51. }
  52.  
  53. override fun onActivityCreated(savedInstanceState: Bundle?) {
  54. val v = view
  55.  
  56. mRecyclerView = v!!.findViewById<RecyclerView>(R.id.my_recyclerview)
  57.  
  58. mRecyclerView.layoutManager = LinearLayoutManager(activity)
  59.  
  60. val myList = ArrayList<Item>()
  61.  
  62. val myListTitles = ArrayList<String>()
  63. myListTitles.add("Tab A")
  64. myListTitles.add("Tab B")
  65. myListTitles.add("Tab C")
  66.  
  67. val myListDescriptions = ArrayList<String>()
  68. myListDescriptions.add("Description A")
  69. myListDescriptions.add("Description B")
  70. myListDescriptions.add("Description C")
  71.  
  72.  
  73. val mAdapter = MyAdapter(myList, childFragmentManager)
  74.  
  75. mRecyclerView.adapter = mAdapter
  76.  
  77. super.onActivityCreated(savedInstanceState)
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement