{"id":9519,"date":"2022-09-19T08:48:03","date_gmt":"2022-09-19T03:18:03","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/"},"modified":"2022-09-19T08:48:03","modified_gmt":"2022-09-19T03:18:03","slug":"solved-my-app-is-crashing-when-i-switch-to-dark-mode","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/","title":{"rendered":"[Solved] My app is crashing when I switch to dark mode"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-68103001\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"68103001\" data-parentid=\"68101156\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>You&#8217;re casting the nullable <code>Activity<\/code> to a non-null <code>Context<\/code> in a listener that might be called when the Fragment it no longer attached to an Activity, which means the Activity would be null at that point.<\/p>\n<p>You should generally avoid casting with <code>as<\/code>. In this case, it masks what the problem was. At least if you used <code>!!<\/code> to assert the Activity is not null, the stack trace would give you a more detailed explanation of what you did wrong.<\/p>\n<p>Typically, you should use <code>requireActivity()<\/code> or <code>requireContext()<\/code> when you need to pass a non-null Context or Activity to something. They will give you the best error message when you use them where you shouldn&#8217;t. You should be aware of the Fragment lifecycle when you do this and know that it is not safe to get the non-null Activity during stages of the Fragment lifecycle where it might be detached.<\/p>\n<p>(Incidentally, the LinearLayoutManager needs a non-null Activity as well, but it&#8217;s not annotated to require it, so the compiler let you get away with passing it a nullable <code>activity<\/code>. Its simpler to set it in the XML anyway.)<\/p>\n<p>Since this is in an asynchronous response, you cannot predict whether the listener will be called while the Fragment is attached or not, so it is not safe to assume a non-null Activity. You should exit the function early if the Activity is null, since at this point there is no more UI to show the data anyway. Something like this:<\/p>\n<pre><code>Response.Listener {\n    val attachedContext = activity ?: return@Listener\n\n    \/\/ ...\n    recl_view.adapter = MainAdapter(attachedContext, list)\n    \/\/...\n}\n<\/code><\/pre>\n<p>It would be better to set up your request in a ViewModel so your current request isn&#8217;t wasted and rerun redundantly every time the screen rotates or dark mode is toggled. You are also temporarily leaking copies of your Fragment every time this happens because you don&#8217;t cancel the request when detached.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\"><\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved My app is crashing when I switch to dark mode <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You&#8217;re casting the nullable Activity to a non-null Context in a listener that might be called when the Fragment it no longer attached to an Activity, which means the Activity would be null at that point. You should generally avoid casting with as. In this case, it masks what the problem was. At least &#8230; <a title=\"[Solved] My app is crashing when I switch to dark mode\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/\" aria-label=\"More on [Solved] My app is crashing when I switch to dark mode\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[452,600],"class_list":["post-9519","post","type-post","status-publish","format-standard","hentry","category-solved","tag-android","tag-kotlin"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] My app is crashing when I switch to dark mode - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] My app is crashing when I switch to dark mode - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You&#8217;re casting the nullable Activity to a non-null Context in a listener that might be called when the Fragment it no longer attached to an Activity, which means the Activity would be null at that point. You should generally avoid casting with as. In this case, it masks what the problem was. At least ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-19T03:18:03+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] My app is crashing when I switch to dark mode\",\"datePublished\":\"2022-09-19T03:18:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/\"},\"wordCount\":322,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"android\",\"kotlin\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/\",\"name\":\"[Solved] My app is crashing when I switch to dark mode - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-19T03:18:03+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] My app is crashing when I switch to dark mode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] My app is crashing when I switch to dark mode - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] My app is crashing when I switch to dark mode - JassWeb","og_description":"[ad_1] You&#8217;re casting the nullable Activity to a non-null Context in a listener that might be called when the Fragment it no longer attached to an Activity, which means the Activity would be null at that point. You should generally avoid casting with as. In this case, it masks what the problem was. At least ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/","og_site_name":"JassWeb","article_published_time":"2022-09-19T03:18:03+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] My app is crashing when I switch to dark mode","datePublished":"2022-09-19T03:18:03+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/"},"wordCount":322,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["android","kotlin"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/","url":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/","name":"[Solved] My app is crashing when I switch to dark mode - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-19T03:18:03+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-my-app-is-crashing-when-i-switch-to-dark-mode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] My app is crashing when I switch to dark mode"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=9519"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/9519\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=9519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=9519"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=9519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}