first commit
This commit is contained in:
45
app/src/main/java/de/htwk/s3/MainActivity.kt
Normal file
45
app/src/main/java/de/htwk/s3/MainActivity.kt
Normal file
@ -0,0 +1,45 @@
|
||||
package de.htwk.s3
|
||||
|
||||
import android.content.Intent
|
||||
import android.support.v7.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
|
||||
class MainActivity : AppCompatActivity() {
|
||||
|
||||
val SAVED_PARCEL_KEY = "saved_parcel_key"
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_main)
|
||||
|
||||
button.setOnClickListener {
|
||||
val intent = Intent(this,SecondActivity::class.java)
|
||||
val parameterObject = ParameterObject(editText.text.toString(),checkBox.isChecked,seekBar.progress)
|
||||
intent.putExtra(SecondActivity.PARAMETER_OBJECT_KEY,parameterObject)
|
||||
startActivity(intent)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onSaveInstanceState(outState: Bundle?) {
|
||||
super.onSaveInstanceState(outState)
|
||||
val parameterObject = ParameterObject(editText.text.toString(),checkBox.isChecked,seekBar.progress)
|
||||
outState?.putParcelable(SAVED_PARCEL_KEY,parameterObject)
|
||||
}
|
||||
|
||||
override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
|
||||
super.onRestoreInstanceState(savedInstanceState)
|
||||
savedInstanceState?.let {
|
||||
if (it.containsKey(SAVED_PARCEL_KEY)){
|
||||
|
||||
val parameterObject: ParameterObject? = it.getParcelable(SAVED_PARCEL_KEY)
|
||||
Log.i("Parcel",parameterObject.toString())
|
||||
editText.setText(parameterObject?.string)
|
||||
checkBox.isChecked = parameterObject?.bool ?: false
|
||||
seekBar.progress = parameterObject?.int ?: 50
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
33
app/src/main/java/de/htwk/s3/ParameterObject.kt
Normal file
33
app/src/main/java/de/htwk/s3/ParameterObject.kt
Normal file
@ -0,0 +1,33 @@
|
||||
package de.htwk.s3
|
||||
|
||||
import android.os.Parcel
|
||||
import android.os.Parcelable
|
||||
|
||||
data class ParameterObject(val string: String?, val bool: Boolean, val int: Int) : Parcelable{
|
||||
constructor(parcel: Parcel) : this(
|
||||
parcel.readString(),
|
||||
parcel.readByte() != 0.toByte(),
|
||||
parcel.readInt()
|
||||
) {
|
||||
}
|
||||
|
||||
override fun writeToParcel(parcel: Parcel, flags: Int) {
|
||||
parcel.writeString(string)
|
||||
parcel.writeByte(if (bool) 1 else 0)
|
||||
parcel.writeInt(int)
|
||||
}
|
||||
|
||||
override fun describeContents(): Int {
|
||||
return 0
|
||||
}
|
||||
|
||||
companion object CREATOR : Parcelable.Creator<ParameterObject> {
|
||||
override fun createFromParcel(parcel: Parcel): ParameterObject {
|
||||
return ParameterObject(parcel)
|
||||
}
|
||||
|
||||
override fun newArray(size: Int): Array<ParameterObject?> {
|
||||
return arrayOfNulls(size)
|
||||
}
|
||||
}
|
||||
}
|
29
app/src/main/java/de/htwk/s3/SecondActivity.kt
Normal file
29
app/src/main/java/de/htwk/s3/SecondActivity.kt
Normal file
@ -0,0 +1,29 @@
|
||||
package de.htwk.s3
|
||||
|
||||
import android.support.v7.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import kotlinx.android.synthetic.main.activity_second.*
|
||||
|
||||
class SecondActivity : AppCompatActivity() {
|
||||
|
||||
companion object {
|
||||
val EDITTEXT_KEY = "edittext_key"
|
||||
val CHECKBOX_KEY = "checkbox_key"
|
||||
val SEEKBAR_KEY = "seekbar_key"
|
||||
val PARAMETER_OBJECT_KEY = "parameter_object_key"
|
||||
}
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_second)
|
||||
|
||||
intent.extras?.let {
|
||||
if(it.containsKey(PARAMETER_OBJECT_KEY)) {
|
||||
val parameterObject: ParameterObject? = it.getParcelable(PARAMETER_OBJECT_KEY)
|
||||
textView.text = parameterObject?.string
|
||||
textView2.text = parameterObject?.bool.toString()
|
||||
textView3.text = parameterObject?.int.toString()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user