【发布时间】:2016-02-23 09:48:26
【问题描述】:
我有一个问题。
在我的内部类chargeAdapterAsync 中,我得到了mDataModel
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 类是否也在后台:/
【问题讨论】:
-
很难理解您的问题是什么。请解释清楚或使用一些示例代码
-
很难解开你的问题。但是您在 AsyncTask 的 doInBackground 方法中所做的每一件事都在后台线程池中运行/
标签: java android asynchronous android-asynctask