https://github.com/idapgroup/ArgumentDelegate
Property binding for Android Bundle arguments.
https://github.com/idapgroup/ArgumentDelegate
android arguments bundle intent kotlin property-delegate
Last synced: 9 months ago
JSON representation
Property binding for Android Bundle arguments.
- Host: GitHub
- URL: https://github.com/idapgroup/ArgumentDelegate
- Owner: idapgroup
- License: bsd-3-clause
- Created: 2019-04-11T20:23:32.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-02-18T15:57:50.000Z (almost 4 years ago)
- Last Synced: 2024-11-07T16:41:47.677Z (about 1 year ago)
- Topics: android, arguments, bundle, intent, kotlin, property-delegate
- Language: Kotlin
- Homepage:
- Size: 140 KB
- Stars: 25
- Watchers: 8
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - idapgroup/ArgumentDelegate - Property binding for Android Bundle arguments. (Kotlin)
README
Argument Delegate
============
Property binding for Android Bundle arguments. Written for simple bundle unpacking for Kotlin users.
Download
--------
[  ](https://bintray.com/idapgroup/kotlin/argument-delegate/1.0.3/link)
Add repository to your root `build.gradle`
```groovy
repositories {
jcenter()
}
```
```groovy
dependencies {
implementation 'com.idapgroup:argument-delegate:latest-version'
}
```
Usage sample
-------------
```kotlin
class ExampleActivity : Activity {
val userName: String by argumentDelegate()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// your activity setup code
Log.d("ExampleActivity", "userName - $userName")
}
}
```
__Remember: Bundled argument name must have the same name as property have. For current example:__
```kotlin
val bundle = Bundle().apply {
putString("userName", "John")
}
```
Additional info
-------------
__argumentDelegate__ is an extension function for Fragment and Activity. If you want to use it
out of the Activity/Fragment then you should implement _argumentWrapper_ block.
Example:
```kotlin
class Example {
private lateinit var bundle: Bundle
private val wrapper = { a: Example -> a.bundle }
val userName: String by argumentDelegate(wrapper)
}
```