getLoaderManager在ListActivity [英] getLoaderManager in 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屋!