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

Fragment中调用startActivity报错:无法解析symbol 'fragment_profile'

错误修正方案

错误原因

fragment_profile是Fragment对应的XML布局文件名,并非Java类,因此不能用fragment_profile.this作为Intent的上下文参数。在Fragment中,需使用Fragment自身的上下文或其关联的Activity来创建Intent。

修正后的代码

void signOut(){
    gsc.signOut().addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            // 空判断避免Fragment与Activity解绑后出现空指针
            if(getActivity() != null){
                getActivity().finish();
            }
            // 使用Fragment上下文创建Intent并启动登录页
            startActivity(new Intent(getContext(), login_page.class));
            Toast.makeText(getContext(), "Signed out", Toast.LENGTH_LONG).show();
        }
    });
}

额外优化建议

  1. Fragment本身已实现startActivity()方法,无需额外嵌套getActivity()调用。
  2. 若希望登录页启动后清除之前的Activity栈(防止用户返回个人中心页),可给Intent添加栈清理标记:
Intent loginIntent = new Intent(getContext(), login_page.class);
loginIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(loginIntent);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 23:55:30