import
androidx.annotation.NonNull;
import
androidx.appcompat.app.AppCompatActivity;
import
android.os.Bundle;
import
android.text.Editable;
import
android.text.TextWatcher;
import
android.view.View;
import
android.widget.AdapterView;
import
android.widget.ArrayAdapter;
import
android.widget.EditText;
import
android.widget.RadioButton;
import
android.widget.RadioGroup;
import
android.widget.Spinner;
import
android.widget.Toast;
import
java.util.ArrayList;
public
class
MainActivity
extends
AppCompatActivity {
EditText editText;
RadioGroup radioGroup;
RadioButton rbTrue,rbFalse;
Spinner spinner;
String string;
boolean
aBoolean;
int
anInt;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText=findViewById(R.id.edit_text);
radioGroup=findViewById(R.id.radio_group);
rbTrue=findViewById(R.id.rb_true);
rbFalse=findViewById(R.id.rb_false);
spinner=findViewById(R.id.spinner);
ArrayList<String> arrayList=
new
ArrayList<>();
arrayList.add(
"Select Position"
);
arrayList.add(
"1"
);
arrayList.add(
"2"
);
arrayList.add(
"3"
);
spinner.setAdapter(
new
ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_spinner_dropdown_item,arrayList));
editText.addTextChangedListener(
new
TextWatcher() {
@Override
public
void
beforeTextChanged(CharSequence s,
int
start,
int
count,
int
after) {}
@Override
public
void
onTextChanged(CharSequence s,
int
start,
int
before,
int
count) {
string=String.valueOf(s);
}
@Override
public
void
afterTextChanged(Editable s) {}
});
radioGroup.setOnCheckedChangeListener(
new
RadioGroup.OnCheckedChangeListener() {
@Override
public
void
onCheckedChanged(RadioGroup group,
int
checkedId) {
aBoolean=checkedId==R.id.rb_true;
}
});
spinner.setOnItemSelectedListener(
new
AdapterView.OnItemSelectedListener() {
@Override
public
void
onItemSelected(AdapterView<?> parent, View view,
int
position,
long
id) {
anInt=position;
}
@Override
public
void
onNothingSelected(AdapterView<?> parent) {}
});
}
@Override
protected
void
onSaveInstanceState(
@NonNull
Bundle outState) {
outState.putString(
"string_value"
,string);
outState.putBoolean(
"boolean_value"
,aBoolean);
outState.putInt(
"int_value"
,anInt);
super
.onSaveInstanceState(outState);
}
@Override
protected
void
onRestoreInstanceState(
@NonNull
Bundle savedInstanceState) {
string=savedInstanceState.getString(
"string_value"
);
aBoolean=savedInstanceState.getBoolean(
"boolean_value"
);
anInt=savedInstanceState.getInt(
"int_value"
);
Toast.makeText(getApplicationContext(),string+
" - "
+ aBoolean+
" - "
+anInt,Toast.LENGTH_SHORT).show();
super
.onRestoreInstanceState(savedInstanceState);
}
}