Тост внутри 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(), чтобы показать предупреждение в соответствующем потоке приложения, попробовать его и работать. С уважением

Другие вопросы по тегам