У меня есть абстрактная деятельность под названием AbstractEntryActivity
. Два мероприятия ModifyEntryActivity
и AddEntryActivity
продлить его.Почему информация getApplication сбрасывается после выбора изображения?
У меня также есть глобальный Application
, который я звоню с getApplication
, и где я помещаю информацию, которая должна быть глобальной. A список, в моем случае.
В моей абстрактной деятельности, я называю намерение принять или забрать картину так:
public void onPickPicture(View view) {
Intent pickIntent = new Intent();
pickIntent.setType("image/*");
pickIntent.setAction(Intent.ACTION_GET_CONTENT);
Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Intent chooserIntent = Intent.createChooser(pickIntent,
getString(R.string.dialog_pick_picture_title));
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS,
new Intent[] { takePhotoIntent });
startActivityForResult(chooserIntent, Constants.SELECT_PICTURE);
}
У меня также есть метод onActivityResult
который занимается с изображением. Но перед вызовом вызывается метод onCreate
. (Иногда onActivityResult называется и не OnCreate)
На первом onCreate
зову Аннотация деятельности, проверить содержание списка моего приложения: это нормально (не пустое, ни пустой). Теперь, когда я возвращаюсь из галереи, я вызываю getApplication, и List, который я вставляю в него, равен null.
Вот мой onCreate
из Реферативного деятельности:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_entry);
// Get all views ...
...
mApp = (MyApplication) getApplication();
Log.d(TAG, "mApp = "+mApp);
Log.d(TAG, "mApp.getList() = "+mApp.getList()); // HERE it is NULL on 2nd call
// Init date
initDate();
// Init all fields
initFields() ;
// getSupportActionBar
...
}
То, что я не понимаю:
- На обоих
AddEntryActivity
иModifyEntryActivity
, то OnCreate то же самое (простой вызов super.onCreate) - На
ModifyEntryActivity
, я получаю mApp.getList = null при втором вызове - Это se ems в большинстве случаев, в
AddEntryActivity
, mApp.getList возвращает правильное значение. Подождите, я попробовал еще раз, и это не всегда так
Я действительно не понимаю, что здесь происходит, и почему она не всегда ведет себя так же. Я не знаю точно, что я изменил, но до сегодняшнего дня он работал правильно.
N.B. Если я не измените изображение, все в порядке, и запись добавлена / изменена правильно
Не могли бы вы помочь мне найти, что не так, пожалуйста?