同样,关于 ayncTask 的另一个问题。我在下面做的正确吗?
Class UpdatePersonActivity{
Person person;
.
.
.
.
.
private class UpdatePersonAsyncTask extends AsyncTask<Void, Void, Void> {
private ProgressDialog dialog;
private DBHandler dbHandler;
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(UpdatePersonActivity.this, "Please wait..", "working..", true);
dbHandler = new DBHandler(UpdatePersonActivity.this);
}
@Override
protected Void doInBackground(Void... params) {
dbHandler.open();
long id = dbHandler.updatePerson(person);
person.setId(id);
dbHandler.close();
return null;
}
@Override
protected void onPostExecute(Void result) {
dialog.dismiss();
Toast.makeText(UpdatePersonActivity.this, "Tenant "+person.getName()+" has been updated successfully!", Toast.LENGTH_SHORT).show();
finish();
}
}
基本上我在活动类中有“人”变量,并且相同的变量用于插入 DB 并在 DoInBackground 中更新其 ID,并且相同的变量用于 GUI 目的
我可以这样做吗?我试过了,它有效,但这是我不应该做的事情吗?
谢谢