【问题标题】:fragment not attached to activity on volley response片段未附加到截击响应的活动
【发布时间】:2019-11-05 08:45:08
【问题描述】:

我收到以下错误,我认为这意味着我的活动为空

fragment not attached to activity on volley response

我该如何解决这个问题? 这些是我的代码

  MainActivity._MainActivity_.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(MainActivity._MainActivity_, "inserted", Toast.LENGTH_SHORT).show();
                        }
                    });
                   Activity activity = getActivity();
                   if(activity != null){
                        Intent mainIntent = new Intent(define, SaveNewFactor.class);
                        startActivity(mainIntent);
                    }else {
                        Log.i("myLog","activity is null");
                    }

my logcat image

【问题讨论】:

  • 请发布你的日志
  • 我从 logcat 添加了一张图片
  • 您可以在stackoverflow.com/a/28673131/8473587 找到同类问题的参考,您的活动对象可能为空,否则活动的参考不正确。
  • 从哪里调用片段?
  • Intent activity2Intent=new Intent(getApplicationContext(), CameraActivity.class);开始活动(活动2意图);尝试这样的事情

标签: android android-volley


【解决方案1】:

我没有在你的代码中看到你的片段..
但我认为.. 也许你的网络响应来得太晚了,在你的片段分离之后

【讨论】:

  • 这需要是评论而不是答案
  • 感谢您的回复。当我运行代码时,活动为空日志被打印但我不知道该怎么做
【解决方案2】:

更改 Intent 以启动活动 SaveNewFector.class

Intent intent=new Intent(SheetSaveNewFector.this,SaveNewFector.class);  
startActivity(intent);  

【讨论】:

  • 谢谢。但是 SheetSaveNewFactor 不是 Activity 。 SheetSaveNewFactor 扩展了 BottomSheetDialogFragment
  • BottomSheetDialogFragment 本身有一个类似于对话框的上下文,您只能使用“this”来获取上下文,因此在这种情况下,您可以使用 getContent() 来启动新活动,例如 Intent intent = new意图(getContext(),SaveNewFector.class);我建议放置一些调试点并检查您遇到此崩溃的执行行。
猜你喜欢
  • 2015-04-24
  • 2018-01-05
  • 2012-12-01
  • 2014-04-13
  • 2021-09-02
  • 1970-01-01
  • 2014-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多