Keresés

Új hozzászólás Aktív témák

  • thiclyoon

    aktív tag

    válasz bandi0000 #4946 üzenetére

    Ahogy mondani szokták, a jelenlegi megoldás szuboptimális, de működik. Biztos van szebb, egyszerűbb megoldása is :) Ezekkel a kódokkal a home-ban a text-re kattinva lecseréli a notification fragment-re, majd a dashboard-ra nyomva kicseréli a dashboard-ra (ahogy várnánk). A többi feladat megoldását (pl. home-ra visszanyomásra mi történjen) az olvasóra bízom :)

    MainActivity.kt-ba

    interface MyListener {
    fun clicked()
    fun declicked()
    }
    class MainActivity : AppCompatActivity(), MyListener {
    ...
    override fun clicked() {
    val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
    transaction.replace(R.id.nav_host_fragment, NotificationsFragment())
    transaction.commit()
    }
    override fun declicked() {
    val transaction: FragmentTransaction = supportFragmentManager.beginTransaction()
    transaction.replace(R.id.nav_host_fragment, DashboardFragment())
    transaction.commit()
    }
    }

    HomeFragment-be:

    override fun onCreateView(...): View? {
    ...
    textView.setOnClickListener {
    (activity as MyListener).clicked()
    }
    ...
    }

    DashboardFragment-be:
    override fun onCreateView(...): View? {
    ...
    textView.setOnClickListener {
    (activity as MyListener).declicked()
    }
    ...
    }

    És hogy lásd a változást, res/layout/fragment_notification-be:
    <androidx.constraintlayout.widget.ConstraintLayout
    ...
    android:background="#CA1414"
    tools:context=".ui.notifications.NotificationsFragment">

    Illetve a res/layout/fragment_dashboard-ba:
    <androidx.constraintlayout.widget.ConstraintLayout
    ...
    android:background="#066EFF"
    tools:context=".ui.dashboard.DashboardFragment">

    [ Szerkesztve ]

Új hozzászólás Aktív témák