繰り返しますが、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();
}
}
基本的に、アクティビティクラスに「person」変数があり、同じ変数を使用してDBに挿入し、DoInBackgroundでそのIDを更新し、同じ変数をGUI目的で使用します
それをしてもいいですか?やってみたところうまくいきましたが、やってはいけないことですか?
ありがとう