У меня есть фрагмент в моей панели действий, и если пользователь нажимает кнопку фрагмента, страница должна автоматически обновляться/обновляться, если в ней есть какое-либо содержимое. Проблема, с которой я сталкиваюсь, заключается в том, что фрагмент не обновляется автоматически в первый раз, но обновляется и обновляется, когда я нажимаю его во второй раз.Фрагмент не обновляется автоматически при нажатии
Это поток:
Выберите фрагмент 1 -> Не обновлять/обновления -> вернуться назад и выбрать другой фрагмент 2 из панели действий -> выбрать фрагмент 1 раз -> Обновление интерфейса фрагмента 1 .
Я вызываю фрагмент 1 из MainActivity в onPostExecute задачи Async.
MainActivity,
private final FragmentOne f1 = new FragmentOne();
@Override
protected void onPostExecute(Object o) {
super.onPostExecute(o);
f1.updateUI();
}
У меня есть этот кусок кода в моем классе фрагмента.
// Updates the fragment-1 UI
public void updateUI() {
if (isAdded()) {
String currentDatabaseName = null;
hideAllTables();
hideWarningLabelsAndHeaders();
progressBarIndicator.setVisibility(View.VISIBLE);
if (null != getUserIdentifier()) {
currentDatabaseName = Utils.buildUserDataFromFli(getUserIdentifier());
}
if (null != currentDatabaseName) {
shopData = new ShopDao(ShopApplication.getLoggedInUser(), Utils.getDatabaseIndexMap());
transcationData = new TranscationDao(ShopApplication.getLoggedInUser(), Utils.getDatabaseIndexMap());
}
configureUserDependentFetchers(getUserIdentifier());
}
}
где вы звоните asyntask? – sasikumar
Обновлен ли ваш 'isAdded' boolean при первом вызове? –
убедитесь, что логическое значение верное или нет, когда добавленный фрагмент – sasikumar