Fragments¶
Start activities from fragments and do transactions with minimal boilerplate.
Supported platforms: Android.
Setup¶
If you want to use this dependency without using one of the fun packs,
you can use Splitties.fragments
, provided you have refreshVersions added to the project.
For reference, the maven coordinates of this module are com.louiscad.splitties:splitties-fragments
.
Content¶
Starting Activities¶
The start
extension function for Context
takes advantage of reified type
parameters to allow you to write such code: start<AboutActivity>()
.
There's an optional lambda where the Intent
is the receiver so you can
edit it (e.g. adding flags) before the activity is started with it.
The startActivity
extension function for Context
is designed for implicit
intents. It expects the Intent
action as first parameter, and takes a
lambda to edit the intent further, like start
.
Fragment transactions¶
The fragmentTransaction
extension function for FragmentActivity
allows
to make a fragment transaction without having to write beginTransaction
and
the commit call repeatedly.
It has two optional parameters:
* now
, that defaults to true
so you can get the Fragment
immediately
after by default.
* allowStateLoss
that defaults to false
.
And the lambda is the required body of your transaction where you deal with your Fragments (e.g. adding, replacing…).
The addToBackStack()
extension function for FragmentTransaction
calls
addToBackStack(null)
. It effectively makes the name parameter optional.