【发布时间】:2020-05-10 19:54:02
【问题描述】:
我写了一个Asynctask
private class dboperation extends AsyncTask<Void, Void, Cursor>
我是 android 新手,在 google 中搜索了很多内容,但对如何使用这些参数从另一个类调用异步任务感到震惊。
代码
private class dboperation extends AsyncTask<Void, Void, Cursor>{
@Override
protected Cursor doInBackground(Void... params) {
// TODO Auto-generated method stub
getstocks="Select " + st.column1 + " as _id, " + st.column3 + " From "+ st.tablename;
a1=Database.getInstance(getApplicationContext()).getWritableDatabase().rawQuery(getstocks, null);
return null;
}
protected void onPostExecute(Cursor result) {
if(a1.moveToNext())
{
displaystocks.setVisibility(View.INVISIBLE);
}
final poplist populatestocks=new poplist(getApplicationContext(),a1) ;
popstocks.setAdapter(populatestocks);
}
@Override
protected void onPreExecute() {
}
protected void onProgressUpdate(Void... values) {
}
}
当我以这种方式调用时,它给了我错误“Void 无法解析为变量”。
dboperation.execute(Void,Void,a1);
我该如何解决这个问题?
【问题讨论】:
-
您到底想要什么?你需要光标在哪个方法上?
-
我想知道如何使用上述参数为 Asynctask 编写执行,因为正如您在我声明为 dboperation.execute(Void,Void,a1); 时看到的那样。它正在抛出错误
-
@Siva :
AsyncTask.execute(Params... params)其中params是您要传递给doInBackground以便执行任务使用dboperation.execute((Void)null);或dboperation.execute();的参数 -
仍然不接受给出错误无法从 AsyncTask
类型对非静态方法 execute(Void...) 进行静态引用