我试图在Android上实现一个加载器示例,但无法让它启动加载器.我使用以下代码.它将点击"Create Loader",但它永远不会到达"正在加载"日志消息.我错过了我需要的电话吗?
活动:
public class TestingZoneActivity extends ListActivity implements LoaderCallbacks<ArrayList<Content>>{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
getLoaderManager().initLoader(0, null, this);
}
@Override
public Loader<ArrayList<Content>> onCreateLoader(int id, Bundle args) {
Log.e("TEST", "Create Loader");
return new ImageLoader(this);
}
@Override
public void onLoadFinished(Loader<ArrayList<Content>> loader, ArrayList<Content> data) {
setListAdapter(new ImageAdapter(this, data));
}
@Override
public void onLoaderReset(Loader<ArrayList<Content>> loader) {
setListAdapter(null);
}
}
Run Code Online (Sandbox Code Playgroud)
装载机:
public class ImageLoader extends AsyncTaskLoader<ArrayList<Content>> {
public ImageLoader(Context context) {
super(context);
}
@Override
public ArrayList<Content> loadInBackground() {
Log.e("TEST", "Loading started");
} …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中我有按钮,单击时将查询数据库并在屏幕上显示结果.查询操作通常需要1~3秒.这些按钮将经常被点击.
我已经在AsyncTask和Thread上实现了这个动作,但看起来差别很小.
但是从长远来看,尤其是在按钮被多次点击时,这在资源(CPU,内存)方面会更有益吗?
我有一个HomeActivity,我在那里调用片段列表.在HomeActivity中,我有sidemenu所有片段都被加载.
现在,在这个列表中,我有一个名为HomeFragment的片段,它使用webservice显示带有数据的Google Map.
我想要的是我只想加载一次(第一次)片段加载Map数据,而不是每次点击sidemenu或从任何其他片段进入.
我的HomeFragment或任何其他片段立即加载,而不是每次都加载.