我使用Loader从我的数据库加载数据...
当我的活动开始时...加载程序正确调用asynctask ...
但是当我点击按钮时,我不知道如何加载数据!
如果" onCreateLoader",在活动开始时自动调用,怎么避免?
解决:
使用FragmentActivity ...
使用了forceload()因为loadInBackgroung没有用!
使用了getSupportLoaderManager(),因为getLoaderManager()也没有工作
因为据说图书馆有问题!
但是......我不知道......我不相信,但......
现在,它的作品! :P
public void onClick(View v) {
switch(v.getId()){
case R.id.button:
if(getSupportLoaderManager().getLoader(0) == null){
getSupportLoaderManager().initLoader(0, null, this).forceLoad();
}else{
getSupportLoaderManager().restartLoader(0, null, this).forceLoad();
}
break;
case R.id.another:
Toast.makeText(this, "another", Toast.LENGTH_SHORT).show();
break;
}
}
答案 0 :(得分:3)
点击按钮时,只需致电restartLoader:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
getLoaderManager().restartLoader(YOUR_LOADER_ID, null, mYourLoaderCallbacks);
}
});