0
Я звоню notifydatasetchanged, и для обновления ui требуется некоторое время. Я не могу показать индикатор выполнения, поскольку он закрывается, прежде чем андроид обновит ui. Может ли кто-нибудь предложить мне решение?Индикатор выполнения во время уведомления Adapderdatasetchanged
private class DateSelectionProcessor extends AsyncTask<Void, Void, Void>
{
ProgressDialog pd;
DateSelectionProcessor()
{
}
@Override
protected void onPreExecute()
{
pd = new ProgressDialog(ActivityHome.this);
pd.setMessage("Adding your shift. Please Wait..");
pd.setCancelable(false);
pd.setIndeterminate(true);
pd.show();
}
@Override
protected Void doInBackground(Void... params)
{
return null;
}
@Override
protected void onProgressUpdate(Void... params)
{
}
@Override
protected void onPostExecute(Void param)
{
if (mnSelectedShiftTemplateIndex != -1)
{
int nSelectedShiftTemplateID = malnShiftTemplateIDs.get(mnSelectedShiftTemplateIndex);
if ((mnRecentShiftID >= 0) && (mnRecentShiftTemplateID == nSelectedShiftTemplateID) && (mnRecentShiftYear == mnSelectedYear) && (mnRecentShiftMOY == mnSelectedMOY) && (mnRecentShiftDOM == mnSelectedDOM))
{
DBHelper.getInstance(ActivityHome.this).deleteShiftInstance(mnRecentShiftID);
mnRecentShiftID = -1;
Toast.makeText(ActivityHome.this, getString(R.string.msg_recent_shift_deleted), Toast.LENGTH_SHORT).show();
}
else
{
placeShiftInstance(nSelectedShiftTemplateID);
}
}
mCalendarAdapter.setDateSelected(mnSelectedYear, (mnSelectedMOY - 1), mnSelectedDOM);
mCalendarAdapter.notifyDataSetChanged();
updateDailyDetails();
pd.dismiss();
}
}
Не видя кода, это не представляется возможным. Введите код активности. –
@ shree202 - Я добавил код. –
где вы закрываете диалог прогресса? –