Jer*_*aho 1 android android-fragments actionbarsherlock android-cursorloader commonsware-cwac
我正在使用基于ActionBarSherlock的活动和片段.要从SQLite数据库中读取行,我正在尝试使用a Loader而不是a ContentProvider,我正在尝试让LoaderEx为我工作.
我遇到了一个顽固的问题:在我的片段onCreateLoader回调中,ADT一直给我一个错误:
"Cannot convert from SQLiteCursorLoader to Loader<Cursor>"
Run Code Online (Sandbox Code Playgroud)
我正在使用Android v4支持库.由于DEX错误,我已从android-support-v4.jarActionBarSherlock和LoaderEx中删除,并将其添加到我的基础项目中.然后我让ABS和LoaderEx都依赖于此.
ABS和LoaderEx都作为库项目添加.
我已经检查过我只使用v4导入.LoaderExDemo也可以在模拟器中编译和工作.
这些是我片段的导入:
import com.actionbarsherlock.app.SherlockListFragment;
import android.database.Cursor;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ListView;
import android.support.v4.widget.SimpleCursorAdapter;
import android.support.v4.app.LoaderManager;
import android.support.v4.app.LoaderManager.LoaderCallbacks;
import android.support.v4.content.CursorLoader;
import android.support.v4.content.Loader;
import com.commonsware.cwac.loaderex.SQLiteCursorLoader;
Run Code Online (Sandbox Code Playgroud)
这是我的片段声明:
public class MeetingListFragment
extends SherlockListFragment
implements LoaderManager.LoaderCallbacks<Cursor> {
private JournalDatabaseHelper db = null;
private SimpleCursorAdapter adapter = null;
private SQLiteCursorLoader loader = null;
Run Code Online (Sandbox Code Playgroud)
这是getLoader回调方法:
public Loader<Cursor> onCreateLoader(int loaderId, Bundle args) {
loader = new SQLiteCursorLoader(getSherlockActivity().getApplicationContext(),
db,
"SELECT _ID, meeting_timestamp, meeting_desc FROM meeting " +
"ORDER BY meeting_timestamp DESC",
null);
return loader; // <<< this is the line of the ADT/Eclipse error
}
Run Code Online (Sandbox Code Playgroud)
我和他一起来回走了好几个小时.关于SO的一些答案在该领域有点,但没有真正的解决方案.出了什么问题?
你有:
import com.commonsware.cwac.loaderex.SQLiteCursorLoader;
Run Code Online (Sandbox Code Playgroud)
这是错误的SQLiteCursorLoader,因为那是本机API Level 11+版本的Loader框架.如LoaderEx文档中所述,com.commonsware.cwac.loaderex.acl.SQLiteCursorLoader如果您使用LoaderAndroid支持包中的backport,则应该使用.
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |