AsyncTask и setContentView - PullRequest
       0

AsyncTask и setContentView

2 голосов
/ 20 февраля 2012

У меня есть этот код для управления некоторыми странами в моей базе данных;

class checkCountryAsync extends AsyncTask<String, String, String> {

    @Override
    protected void onPreExecute() {
       super.onPreExecute();
       setContentView(R.layout.main);

    }
    @Override
    protected String doInBackground(String... aurl) {
        MDPIActivity.this.runOnUiThread(new Runnable() {

            public void run() {
                  CountryTable country = new CountryTable() ;
                  country.EnterCountry();
            }
        });
        return null;
    }
}

При этом я хотел бы установить представление содержимого, а затем в фоновом режиме, чтобы метод onBackground работал, но мне все еще приходится ждать представления содержимого, пока метод onBackground не завершится.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 20 февраля 2012

Я не вижу никакой причины для добавления setContentView() в метод onPreExecute, он должен быть в методе onCreate, чтобы избежать любого вида NullPointerException, когда вы попытаетесь найти свои взгляды, идля вашего AsyncTask вы должны просто использовать onPostExecute(), который выполняется после метода doInBackground()

0 голосов
/ 20 февраля 2012

Вы должны попробовать методы publishProgress () и onProgressUpdate ().

0 голосов
/ 20 февраля 2012

Пожалуйста, попробуйте это, подумайте, что это работает. Класс checkCountryAsync расширяет AsyncTask {

@Override
protected void onPreExecute() {
   super.onPreExecute();
   setContentView(R.layout.main);

}
@Override
protected String doInBackground(String... aurl) {
    CountryTable country = new CountryTable() ;
    country.EnterCountry();
    return null;
}

} `

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...