Все,Сбой при движении во время навигации назад
Я выполняю навигацию между 3 экранами с зависимостью друг от друга.
Деятельность A имеет таблицу со списком строк таблицы. Каждая строка имеет событие onclick listener, где в результате получают данные из строки таблицы и переходит к следующему экрану. Активность B.
Активность B начинается с считывания данных из Intent и получения соответствующих изображений & данных и т. Д. И строит макет. Он имеет кнопку, где при считывании данных из текста редактирования и передается в действие C.
Активность C также создает макет на основе данных из намерения.
Я наблюдал навигацию между этими действиями с настройкой родительской активности в файле манифеста.
Теперь, когда я делаю навигацию в действии C в действие B, она рушится, потому что она не может найти данные из намерения, поскольку элемент управления поступает от Child to Parent, а не от родителя к ребенку.
Я понимаю, что функция onCreate Activity B выполняется снова. Поэтому я сохранил onPause() и метод onResume() в Activity B, чтобы провести повторное выполнение. Но не повезло.
Может ли кто-нибудь посоветовать, как обращаться с таким сценарием.
EDIT:
активность B:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_activity);
getActionBar().setDisplayHomeAsUpEnabled(true);
source_activity = this.getIntent().getStringExtra("source_activity");
Bundle b = this.getIntent().getExtras();
if(b!=null)
DashBoardDisplay_l = b.getParcelable("obj");
Name_ref=DashBoardDisplay_l.getName();
}
активность C:
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
overridePendingTransition(R.anim.activity_open_translate,R.anim.activity_close_scale);
setContentView(R.layout.point_log_activity);
Intent intent = getIntent();
String YourtransferredData = intent.getExtras().getString("ref_name");
Log.d(TAG, "ref name "+YourtransferredData);
Name=YourtransferredData;
Log.d(TAG, "name value "+Name);
getActionBar().setDisplayHomeAsUpEnabled(true);
new BackEndJob().execute();
}
активность B содержит некоторую Intent, который исходит от предыдущего экрана активность А. Таким образом, возвращаясь к деятельности B из Activity C он не смог найти данные из Intent, из-за которых он приводит к исключению нулевого указателя.
Итак, есть ли возможность отображать то, что есть в стеке обратной навигации, а не воссоздавать его с помощью Savedinstance, рекомендованного Dalija.
Пожалуйста Показать код после того, что мы можем направлять вас. – Shvet
Добавьте свой фрагмент кода и журналы – VicJordan