Я пытаюсь разработать приложение с двумя действиями. После открытия приложение в основной активности пользователя будет вводить некоторое число и выполнять некоторые общие математические вычисления (например, Добавить, умножить и т. Д. c), нажав кнопку. Затем для другого определенного вычисления c пользователь перейдет ко второму виду деятельности (FabricCost), нажав кнопку. Во втором упражнении пользователь выполнит некоторые вычисления и получит результат. Затем пользователь отправит этот результат в основное действие, нажав кнопку. Но проблема в том, что после отправки этого результата, когда пользователь возвращается к основному действию, все предыдущие вычисления основного действия уже потеряны. Также, когда пользователь снова возвращается ко 2-му действию, нажимая кнопку, результата также не остается, все теряется. Я хочу сохранить весь пользовательский ввод и данные такими, какие они есть во всех действиях. Я пытался с "onSaveInstanceState", но не работает. Пожалуйста, помогите мне.
код, по которому происходит переход ко 2-му занятию из основного действия
btnfabrateperkg.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick (View v) {
Intent btnfabrateperkg = new Intent (MainActivity.this, FabricCost.class);
startActivity(btnfabrateperkg);
код, по которому отправляются данные к основному виду деятельности из 2-го занятия
btnsentresult.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick (View v) {
String stetfabriccostperkg = etfabriccostperkg.getText().toString();
Intent btnsentresult = new Intent (FabricCost.this, MainActivity.class);
btnsentresult.putExtra( "etfabriccostperkg",stetfabriccostperkg);
startActivity(btnsentresult);
код, по которому осуществляется основное действие получение результата от 2-го действия
etfabrate.setText(getIntent().getStringExtra( "etfabriccostperkg"));
Я пытался использовать "onSaveInstanceState" в основном упражнении, но не сработало, код как показано ниже
@Override
protected void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putDouble(etbl.getText().toString(), 1.11);
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState){
super.onRestoreInstanceState(savedInstanceState);
if (savedInstanceState == null) return;
double myDouble = savedInstanceState.getDouble(etbl.getText().toString());
}
Спасибо.