You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

onLoadFinished()无返回值时跳转至Activity的实现问询

解决onLoadFinished()无数据时跳转Activity的问题

嘿,我来帮你搞定这个跳转需求!先看看你现有的onLoadFinished()代码:

@Override 
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { 
    if (cursor != null && cursor.getCount() > 0) { 
        cursor.moveToFirst(); 
        StringBuilder result = new StringBuilder(); 
        while (!cursor.isAfterLast()) { 
            long userIDFromContentProvider = cursor.getLong(cursor.getColumnIndex(userIDColumn)); 
            String userEmailFromContentProvider = cursor.getString(cursor.getColumnIndex(userEmailColumn)); 
            result.append("\n"+ userEmailFromCon...
        }
    }
}

你只需要在cursor为空或者没有数据的分支里,添加跳转Activity的逻辑就可以了。具体修改后的代码如下:

@Override 
public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { 
    if (cursor != null && cursor.getCount() > 0) { 
        // 你原来处理有数据的逻辑,保持不变
        cursor.moveToFirst(); 
        StringBuilder result = new StringBuilder(); 
        while (!cursor.isAfterLast()) { 
            long userIDFromContentProvider = cursor.getLong(cursor.getColumnIndex(userIDColumn)); 
            String userEmailFromContentProvider = cursor.getString(cursor.getColumnIndex(userEmailColumn)); 
            result.append("\n" + userEmailFromContentProvider);
            cursor.moveToNext(); // 别忘了加这行,否则会陷入死循环哦!
        }
        // 用完cursor记得关闭,避免内存泄漏
        cursor.close();
    } else {
        // 这里就是无数据时的跳转逻辑
        Intent intent = new Intent(getContext(), TargetActivity.class); 
        // 如果是在Activity里实现的回调,就用this代替getContext()
        // Intent intent = new Intent(this, TargetActivity.class);
        startActivity(intent);
        // 可选:如果需要关闭当前页面,可调用finish()
        // finish();
    }
}

几个关键注意事项:

  • 把TargetActivity.class替换成你实际要跳转的Activity类
  • 如果是在Fragment中实现Loader回调,要用getContext()或getActivity()获取上下文;如果是在Activity中,直接用this即可
  • 必须在AndroidManifest.xml中注册目标Activity,否则会抛出ActivityNotFoundException异常
  • 处理完cursor后记得调用cursor.close(),避免内存泄漏问题

内容的提问来源于stack exchange,提问作者waseefakhtar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:03:40