如何在activity中使用Loader?

来源:互联网 发布:输入法 for mac 编辑:程序博客网 时间:2024/05/20 11:26

想在activity中试用loader,可是eclipse总是提示错误,代码如下:

  1. import android.support.v4.app.LoaderManager;
  2. import android.support.v4.content.Loader;
  3. public class ASwitchActivity extends Activity implements
  4.              LoaderManager.LoaderCallbacks<SampleLoader.SampleLoaderResult> {
  5.     public void onCreate(Bundle savedInstanceState) {
  6.         super.onCreate(savedInstanceState);
  7.         setContentView(R.layout.main);
  8.         getLoaderManager().initLoader(0, null, this);
  9.     }
  10.     public Loader<SampleLoader.SampleLoaderResult> onCreateLoader(int id, Bundle args) {
  11.       return new SampleLoader(getBaseContext(), account, "dog");
  12. }
  13.   public void onLoadFinished(Loader<SampleLoader.SampleLoaderResult> loader, SampleLoader.SampleLoaderResult out)
  14.   {
  15.       TextView t=(TextView)findViewById(R.id.testTV);
  16.       t.setText("yay");
  17.   }
  18.   public void onLoaderReset(Loader<SampleLoader.SampleLoaderResult> loader){
  19.   }
  20. }

 

getLoaderManager().initLoader(0, null, this);总是提示有问题,大家有遇到这个问题吗?如何解决。

 

看你的代码你用的是supportV4库,你需要引入FragmentActivity库,你的Activity 继承FragmentActivity;另外用getSupportLoaderManager方法替换你的getLoaderManager。给你个例子:

  
  1. import android.os.Bundle;
  2. import android.support.v4.app.FragmentActivity;
  3. import android.support.v4.app.LoaderManager;
  4. import android.support.v4.content.Loader;
  5. import android.widget.Toast;
  6. public class MyActivity extends FragmentActivity implements LoaderManager.LoaderCallbacks<Object> {
  7. public void onCreate(Bundle savedInstanceState) {
  8.     super.onCreate(savedInstanceState);
  9.     setContentView(R.layout.main);
  10.     getSupportLoaderManager().initLoader(0, null, this);
  11. }
  12. public Loader<Object> onCreateLoader(int i, Bundle bundle){
  13.     return null; // TODO
  14. }
  15. public void onLoadFinished(Loader loader, Object o) {
  16.     Toast.makeText(this, "onLoadFinished", Toast.LENGTH_SHORT).show();
  17. }
  18. public void onLoaderReset(Loader loader)    {
  19.     Toast.makeText(this, "onLoaderReset", Toast.LENGTH_SHORT).show();
  20. }
  21. }

 

 

0 0
原创粉丝点击