doInBackground()发生Android异步任务错误 私有类CreateGridTask扩展了AsyncTask{ 私有CreateGridTask(){ } 受保护的Void doInBackground(Void…voidArr){ GridView.this.grid.create(((WordSearchApplication)GridView.this.getContext().getApplicationContext()).getLexicon()); 返回null; } 受保护的void onPostExecute(void voider){ GridView.this.startTime.setToNow(); GridView.this.onGridReadyListener.onGridReady(); GridView.this.invalidate(); } } 公共接口OnGridReadyListener{ void onGridReady(); } WordFoundListener上的公共接口{ void onWordFound(Word,int i); }

doInBackground()发生Android异步任务错误 私有类CreateGridTask扩展了AsyncTask{ 私有CreateGridTask(){ } 受保护的Void doInBackground(Void…voidArr){ GridView.this.grid.create(((WordSearchApplication)GridView.this.getContext().getApplicationContext()).getLexicon()); 返回null; } 受保护的void onPostExecute(void voider){ GridView.this.startTime.setToNow(); GridView.this.onGridReadyListener.onGridReady(); GridView.this.invalidate(); } } 公共接口OnGridReadyListener{ void onGridReady(); } WordFoundListener上的公共接口{ void onWordFound(Word,int i); },android,android-asynctask,Android,Android Asynctask,Android Studio GridView在使用AsyncTask方法进行后台操作时出错,我在代码pls中做了错误的操作,您不应该以这种方式创建网格 相反,您应该实现。如果单元格有许多特别繁重的操作,则可以在适配器中使用AsyncTask。请记住,AsynTask会启动一个未连接到UIThread的线程,并且在调用onPostExecute之前不应操作UI(即使在调用onPostExecute之前,也要小心。尤其是在视图可能已被回收的GridView中)不要在doInBackground()

Android Studio GridView在使用AsyncTask方法进行后台操作时出错,我在代码pls中做了错误的操作,您不应该以这种方式创建网格


相反,您应该实现。如果单元格有许多特别繁重的操作,则可以在适配器中使用AsyncTask。请记住,AsynTask会启动一个未连接到UIThread的线程,并且在调用onPostExecute之前不应操作UI(即使在调用onPostExecute之前,也要小心。尤其是在视图可能已被回收的GridView中)

不要在doInBackground()方法中执行与UI相关的命令。如果确实希望在AsyncTask上执行,请在onPreExcecute方法上执行
 private class CreateGridTask extends AsyncTask<Void, Void, Void> {
    private CreateGridTask() {
    }

    protected Void doInBackground(Void... voidArr) {
        GridView.this.grid.create(((WordSearchApplication) GridView.this.getContext().getApplicationContext()).getLexicon());
        return null;
    }

    protected void onPostExecute(Void voidR) {
        GridView.this.startTime.setToNow();
        GridView.this.onGridReadyListener.onGridReady();
        GridView.this.invalidate();
    }
}

public interface OnGridReadyListener {
    void onGridReady();
}

public interface OnWordFoundListener {
    void onWordFound(Word word, int i);
}