0

我在 ModelFragment.java 中收到以下 3 个错误:

The method doInBackGround(Context...) of type ModelFragment.PrefsLoadTask must override      or implement a supertype method

The type ModelFragment.PrefsLoadTask must implement the inherited abstract method AsyncTask<Context,Void,Void>.doInBackground(Context...)   

Void methods cannot return a value  

这是我的源代码:

private class PrefsLoadTask extends AsyncTask<Context, Void, Void> {
    SharedPreferences localPrefs=null;

    @Override
    protected void doInBackGround(Context... ctxt) {
        localPrefs=PreferenceManager.getDefaultSharedPreferences(ctxt[0]);
        localPrefs.getAll();

        return(null);
    }

    @Override
    public void onPostExecute(Void Arg0) {
        ModelFragment.this.prefs=localPrefs;
        ModelFragment.this.prefsTask=null;
        deliverModel();
    }
}

据我所知,代码就像书中的一样。我也浏览了我在本章中输入的所有代码。你能看出她有什么错误吗?在本章的第 5 步之后,应用程序运行正常。

4

1 回答 1

0

据我所见,代码就像书中的一样

不它不是。是doInBackground(),不是doInBackGround()(注意 的情况g)。此外,返回类型必须是Void,而不是void(注意 的大小写V)。

于 2012-08-06T10:38:30.477 回答