getLoaderManager在ListActivity [英] getLoaderManager in ListActivity

查看:177
本文介绍了getLoaderManager在ListActivity的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想实现一个装载在一个ListActivity但活动不承认getLoaderManager。

  @覆盖
     公共无效的onCreate(包savedInstanceState){
     super.onCreate(savedInstanceState);


    dbHelper =新DBHelper(这一点,DBNAME,FindPackageName(),TABLE_NAME);

    SQL = dbHelper.getReadableDataBase();
    //Log.d("Gaurav","Database打开);
    的String []从=新的String [] {字,_ ID,MYLIST};
    INT []到=新INT [] {R.id.listrow};

    simpleCursorLoader =新SimpleCursorLoader(这一点,TABLE_NAME,距离,NULL,NULL,NULL,NULL,NULL,NULL,SQL);



    //查询结果将是整个数据库
    //光标= sql.query(TABLE_NAME,从,NULL,NULL,NULL,NULL,NULL);
    // startManagingCursor(光标); //此方法去precated
    //Log.d(TAG,"Cursor集);



    completerOrMyListAdapter =新CompleteOrMyListAdapter(这一点,
            R.layout.completeormylist_adapter,光标,从到,dbHelper);
    setListAdapter(completerOrMyListAdapter);

    // prepare装载机。无论是与现有的一个重新连接,
    //或者开始一个新的。
    LoaderManager LM = getLoaderManager();
    //如果(lm.getLoader(0)!= NULL){
    // lm.initLoader(0,空,这一点);
    //}
    //getLoaderManager().initLoader(0,空,这一点);
}
 

解决方案

如果您的应用程序只能运行在API级别11或更高,适当地设置您的构建目标,方法是可用的。

不过,如果您使用的是Android的兼容库API级别11之前,对装载机的支持,你不能使用 ListActivity 。你必须从 FragmentActivity 继承。无论是使用 ListFragment ,或只是一个普通的的ListView ,你自己管理的。

I wish to implement a Loader for in a ListActivity but the activity do not recognize 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);
}

解决方案

If your app will only run on API Level 11 or higher, set your build target appropriately, and the method will be available.

However, if you are using the Android Compatibility Library to have support for loaders before API Level 11, you cannot use ListActivity. You have to inherit from FragmentActivity. Either use a ListFragment, or just a plain ListView that you manage yourself.

这篇关于getLoaderManager在ListActivity的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆