public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {
// TODO Auto-generated method stub
m_Adapter.swapCursor(arg1);
Log.v("finish load...","sss"+arg1.getCount());
if(arg1.getCount()>0) {
if (arg1.getCount() < m_iPosition+1)
m_iPosition = 0;
//此处调用将出现异常:
//java.lang.IllegalStateException: Can not perform this action inside of onLoadFinished
//getListView().performItemClick(getListView().getAdapter().getView(pos, null,null),
// pos, getListView().getAdapter().getItemId(pos));
//正确的调用方式
getListView().post(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
getListView().performItemClick(getListView().getAdapter().getView(m_iPosition, null,null),
m_iPosition, getListView().getAdapter().getItemId(m_iPosition));
}
});
}
}
因为Android无法再非主线程更新UI
所以可以通过View.Post()或Handler在主线程更新UI