У меня вопрос. В моем внутреннем классе chargeAdapterAsync
, я получил mDataModel
AsynTask background or not
class chargeAdapterAsync extends AsyncTask< String, String, String >
{
@Override
protected String doInBackground(String... action)
{
mImageLoader = ImageLoaderFactory.create(context);
// set up data
mDataModel = new WhaskListDataModel(context, 10);
mAdapter = new PagedListViewDataAdapter<UserWhasks>();
mAdapter.setViewHolderClass(this, WhaskListItemViewHolder.class, mImageLoader);
mAdapter.setListPageInfo(mDataModel.getListPageInfo());
return null;
}
@Override
protected void onPostExecute(String o)
{
super.onPostExecute(o);
mListView.setAdapter(mAdapter);
}
}
, когда я иду в моем WhaskListDataModel
:
public class WhaskListDataModel extends PagedListDataModel<UserWhasks> {
private Context activity;
private ListWhasksPagination listWhasksPagination;
public WhaskListDataModel(Context activity, int numPerPage) {
mListPageInfo = new ListPageInfo<UserWhasks>(numPerPage);
this.activity = activity;
listWhasksPagination = new ListWhasksPagination(activity, numPerPage);
}
public void prependItem(UserWhasks item) {
WhaskListDataEvent data = new WhaskListDataEvent();
Arra
тогда я получил ListWhasksPagination
класс, и когда я иду, я получил:
public ListWhasksPagination(Context activity, int limitArr) {
currentList = new ArrayList<>();
completeList = new ArrayList<>();
completeList = getWhasksResult(activity);
this.limitArr = limitArr;
firtItem = -1;
lastItem = 0;
}
private ArrayList<UserWhasks> getWhasksResult(Context activity){
ArrayList<UserWhasks> sortedWhasks = new ArrayList<>();
magnetClient = MagnetMobileClient.getInstance(activity);
try {
controllerFactory = new UserFactory(magnetClient);
user = controllerFactory.obtainInstance();
Call<WhasksPostsResult> callObject = user.getWhasks(
SharedPreference.ID,
SharedPreference.AUTHORIZATION, null);
WhasksPostsResult result = callObject.get();
for(WhasksResult whask : result.getWhasks()) {
sortedWhasks.add(new UserWhasks(whask));
}
Collections.sort(sortedWhasks, Collections.reverseOrder());
return sortedWhasks;
} catch (SchemaException e) {
Log.e(Constant.LOG_TAG, "can't get userController", e);
} catch (ExecutionException e) {
Log.e(Constant.LOG_TAG, "failed to execute getUser", e);
e.printStackTrace();
} catch (InterruptedException e) {
Log.e(Constant.LOG_TAG, "getUser interrupted", e);
}
return sortedWhasks;
}
и в этом последнем классе в getWhaskResult
, я возвращаю некоторые элементы, и мне интересно, это getWhaskResult
или даже класс ListWhaskPagination
также находится в фоновом режиме:/
трудно понять, что это ваша проблема. Пожалуйста, объясните это более четко или с некоторым примером кода –
Трудно решить проблему. Но все, что вы делаете в doInBackground методе AsyncTask, запускается в пуле фоновых потоков / – JEY