Android : Toast in onPostExecute() in android

on Thursday, July 3, 2014


I am trying to post a toast in OnPostExecture in an Async.


Here is the what I have done but it doesn't log and it is not toasting.



protected class sendDetails extends AsyncTask<Context, Integer, Boolean>
{

@Override
protected Boolean doInBackground(Context... params)
{
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
}

sendEmail();
return true;
}

@Override
protected void onPostExecute(Boolean result)
{
runOnUiThread(new Runnable()
{
public void run()
{
Toast.makeText(mContext, "Email Succesfully Sent...", Toast.LENGTH_SHORT).show();
}
});
}

@Override
protected void onPreExecute()
{
super.onPreExecute();
finish();
}
}


I also tried the following:



Declaring Context:
private Context mContext;

//Calling the Async
new sendDetails(mContext).execute();

protected class sendDetails extends AsyncTask<Context, Integer, Boolean>
{

public sendDetails(final Context context)
{
mContext = context;
}

@Override
protected Boolean doInBackground(Context... params)
{
try
{
Thread.sleep(1000);
}
catch (InterruptedException e)
{
}

sendEmail();
return true;
}

@Override
protected void onPostExecute(Boolean result)
{
runOnUiThread(new Runnable()
{
public void run()
{
Toast.makeText(mContext, "Email Succesfully Sent...", Toast.LENGTH_SHORT).show();
}
});
}

@Override
protected void onPreExecute()
{
super.onPreExecute();
finish();
}
}


Both didn't work. Can somebody help me fix this?


Thanks!


0 comments:

Post a Comment