【问题标题】:LoadManager, SimpleCursorAdapter, ViewBinder - no URI?LoadManager、SimpleCursorAdapter、ViewBinder - 没有 URI?
【发布时间】:2014-08-26 22:29:05
【问题描述】:

我正在尝试实现 LoaderManager,因为它需要一段时间才能将行加载到我的 ListView 中。我在网上找到的所有示例都提到了 CONTENT_URI——我没有。

这是我加载 ListView 内容的旧代码:

  @Override
  public void onCreate( Bundle savedInstanceState )
  {
  ...
    String path = "/sdcard/mytunesdb.sqlite";   // Warning, yes, I know..

    db = SQLiteDatabase.openDatabase( path, null, 0 );

    lvCustomList = (ListView) findViewById( R.id.lv_custom_list );

    String[] columns = new String[] { "Name" };

    // THE XML DEFINED VIEWS FOR EACH FIELD TO BE BOUND TO
    int[] to = new int[] { R.id.lv_tune };  

    Cursor c = db.rawQuery( "SELECT rowid _id, Name FROM Tune ORDER BY Name", null );

    cAdapter = new MySimpleCursorAdapter( this, R.layout.like_hate_row, c, columns, to, 0 );

    viewBinder = new CustomViewBinder();

    cAdapter.setViewBinder( (ViewBinder) viewBinder );

    lvCustomList.setAdapter( cAdapter );

好的,所以我在更改上述代码后开始实现 LoaderManager 回调,以便使用空投影(空而不是“列”参数)创建 cAdapter。这就是我得到的结果。如何将 rawQuery 放入 onCreateLoader 方法中?

  @Override
  public Loader<Cursor> onCreateLoader(int id, Bundle args) 
  {
    String[] columns = new String[] { "Name" };

!!! HELP - I don't have a CONTENT_URI - my database is external - what do I put below?   
    CursorLoader cursorLoader = new CursorLoader( getActivity(),
              TutListProvider.CONTENT_URI, columns, null, null, null);

     return cursorLoader;
  }

  @Override
  public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) 
  {
    cAdapter.swapCursor( cursor );
  }

  @Override
  public void onLoaderReset(Loader<Cursor> loader) 
  {
    cAdapter.swapCursor( null );
  }

我是否需要保留 URI 代码并为我的 SQL 数据库实现 ContentProvider??

【问题讨论】:

    标签: android android-listview simplecursoradapter android-loadermanager android-viewbinder


    【解决方案1】:

    我在其他 StackOverlow 帖子中提到的 SimpleCursorLoader 的帮助下解决了这个问题。我有新问题,但在下面的链接中你会找到我的解决方案。

    My Solution

    【讨论】:

      猜你喜欢
      • 2012-04-14
      • 2013-04-14
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 2015-11-16
      • 2011-12-23
      • 2013-04-29
      • 1970-01-01
      相关资源
      最近更新 更多