【问题标题】:getLoaderManager in ListActivityListActivity 中的 getLoaderManager
【发布时间】:2011-10-01 20:55:35
【问题描述】:

我希望在 ListActivity 中实现 Loader,但该 Activity 无法识别 getLoaderManager。

     @Override
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);


    dbHelper =  new DBHelper(this,DBNAME,FindPackageName(), TABLE_NAME);

    sql = dbHelper.getReadableDataBase();
    //Log.d("Gaurav","Database Open");
    String[] from = new String[]{"word","_id","MyList"};
    int[] to = new int[]{R.id.listrow };

    simpleCursorLoader = new SimpleCursorLoader(this, TABLE_NAME, from, null, null, null, null, null, null, sql);



    //query result will be whole database
    //cursor = sql.query(TABLE_NAME, from, null, null, null, null, null);
    //startManagingCursor(cursor); //this method is deprecated
    //Log.d(TAG,"Cursor Set");



    completerOrMyListAdapter = new CompleteOrMyListAdapter(this,
            R.layout.completeormylist_adapter, cursor, from, to, dbHelper); 
    setListAdapter(completerOrMyListAdapter);  

    // Prepare the loader.  Either re-connect with an existing one,
    // or start a new one.
    LoaderManager lm = getLoaderManager();
    //if (lm.getLoader(0) != null) {
    //    lm.initLoader(0, null, this);
    //}
    //getLoaderManager().initLoader(0, null, this);
}

【问题讨论】:

    标签: android listactivity android-loadermanager


    【解决方案1】:

    如果您的应用仅在 API 级别 11 或更高级别上运行,请适当设置您的构建目标,该方法将可用。

    但是,如果您使用 Android 兼容性库来支持 API 级别 11 之前的加载程序,则不能使用ListActivity。您必须从FragmentActivity 继承。要么使用ListFragment,要么只使用您自己管理的普通ListView。

    【讨论】:

    • 我在我的代码中尝试了答案,它按照答案中建议的方式工作。
    • The Android Developer website 提供了有关如何使用支持包(以前称为兼容性库)的更多信息,以及它的库与它们所近似的新库的不同之处。您还可以查看支持包的 API 文档的链接。
    【解决方案2】:

    我想你可能会改用下面

    getSupportLoaderManager().initLoader(0, null, this); 
    

    如果您使用支持 v4 包

    【讨论】:

    • ... 而不是从 Activity 继承,而是从 FragmentActivity 继承。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 2012-01-12
    • 2013-01-12
    • 2012-06-20
    • 1970-01-01
    相关资源
    最近更新 更多