Я знаю, что есть несколько вопросов, которые очень похожи на этот, но мне пока это не помогло. Я все еще не могу переопределить эту AsyncTasks. Можете ли вы мне помочь?Невозможно переопределить метод onPostExecute() в классе AsyncTask
Я уже убедился, что doInBackground() devlivers некоторый тип, который требует onPostExecute() (логический в первом и JSON во втором примере).
Вы видите что-нибудь кроме того, что я продлить AsyncTask в качестве сырья типа (не был уверен, что ввести здесь)
Это затмение ошибка говорит мне, для каждого метода:
Метод onPostExecute (Boolean) типа Register.NetCheck должен переопределить или реализовать метод Supertype
и для классов затмить говорит мне:
Тип Register.NetCheck должен реализовать унаследованный абстрактный метод AsyncTask.doInBackground (Object ...)
AsyncTask является исходным типом. Ссылки на общий тип AsyncTask должен быть параметризованных
Пример 1:
private class NetCheck extends AsyncTask {
@Override
protected void onPreExecute(){
super.onPreExecute();
do.something();
}
@Override
protected Boolean doInBackground (String... args){
if (do.something.worked){
return true; }
else { return false}
}
@Override
protected void onPostExecute(Boolean th){
evalute.input.boolValue();
}
}
Пример 2:
private class ProcessRegister extends AsyncTask {
@Override
protected void onPreExecute() {
super.onPreExecute();
show.some.dialog();
}
@Override
protected JSONObject doInBackground(String... args) {
JSONObject json = generate.some.json();
return json;
}
@Override
protected void onPostExecute(JSONObject json) {
evaluate.something();
}
}
Не могли бы вы рассказать мне, зачем использовать 'doInBackground (Void ... params)' вместо моей версии с 'doInBackground (String ... args)'. Просто для вашего уведомления: я скопировал эти коды из какого-либо другого места и попытался приспособить его ко мне нужды – Krummy
Жаль, что я этого не заметил, плохо отредактировал свой ответ –
Сделал поправки @Krummy –