Тост внутри OnPostExecute() не работает
Я делаю этот звонок из main_activity
Intent createAccount = new Intent(mainact_Context,Register_activity.class);
startActivity(createAccount);
Это деятельность, которая вызывает AsyncTask
:
public class Register_activity extends Activity {
Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
context = this;
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register_activity);
Button RegButton = (Button) this.findViewById(R.id.Regbutton);
RegButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
RegisterWithServer regser = new RegisterWithServer(context);
regser.execute();
}
});
setupActionBar();
}
}
Внутри моей асинхронной активности у меня есть это:
public class RegisterWithServer extends AsyncTask <String,Void,String> {
Context con;
public RegisterWithServer(Context context)
{
con = context;
}
protected String doInBackground(String... params) {
//this code gets executed perfectly
}
@Override
protected void onPostExecute(String result)
{
/*I tried doing something with the context and the result string here and it worked too.*/
Toast.makeText(con, result , Toast.LENGTH_SHORT).show();
}
}
doInBackground()
часть исполняется отлично. onPostExecute()
часть называется, но Toast
не показывает Кто-нибудь может что-нибудь заметить?
1 ответ
Вы можете поместить свое сообщение Toast в реализацию потока runOnUI(), чтобы показать предупреждение в соответствующем потоке приложения, попробовать его и работать. С уважением