亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

android - 為什么用new方法構(gòu)造的Activity對(duì)象,其中的View成員變量是為空的?

瀏覽:129日期:2024-09-11 09:33:11

問(wèn)題描述

正如標(biāo)題所言,View成員變量已經(jīng)在Activity的onCreate方法中,通過(guò)findViewById方法初始化了。但在另一個(gè)類中,用通過(guò)new方法構(gòu)造的Activity對(duì)象來(lái)執(zhí)行封裝好的公有方法時(shí),發(fā)現(xiàn)其中的View成員變量是空的。具體代碼如下(new MainActivity().select(selectCity)這句調(diào)用Activity的方法):android - 為什么用new方法構(gòu)造的Activity對(duì)象,其中的View成員變量是為空的?android - 為什么用new方法構(gòu)造的Activity對(duì)象,其中的View成員變量是為空的?

錯(cuò)誤類型是android - 為什么用new方法構(gòu)造的Activity對(duì)象,其中的View成員變量是為空的?

錯(cuò)誤提示是指向下面這句android - 為什么用new方法構(gòu)造的Activity對(duì)象,其中的View成員變量是為空的?

然后,調(diào)試結(jié)果如下android - 為什么用new方法構(gòu)造的Activity對(duì)象,其中的View成員變量是為空的?android - 為什么用new方法構(gòu)造的Activity對(duì)象,其中的View成員變量是為空的?

發(fā)現(xiàn)這里的View對(duì)象是為空的。然后,我換成發(fā)送廣播的方式,讓MainActivity接收廣播,這樣是可以的,調(diào)試結(jié)果如下:android - 為什么用new方法構(gòu)造的Activity對(duì)象,其中的View成員變量是為空的?發(fā)現(xiàn)mCityTextView不是空的。

對(duì)比上面的情況,我覺(jué)得通過(guò)findViewById方法初始化的View對(duì)象,只屬于Activity這個(gè)類本身,所以由它使用是沒(méi)問(wèn)題的。但是通過(guò)new方法構(gòu)造的Activity對(duì)象,得到的是沒(méi)有初始化的View對(duì)象。所以究竟是怎么回事呢???

問(wèn)題解答

回答1:

路子有點(diǎn)野。new MainActivity()并沒(méi)有走Activity的生命周期,比如你都是在onCreate()里初始化控件的,你直接調(diào)用select()當(dāng)然空指針了。

回答2:

Activity, Service, ContentProvider三大組件都不能以new的方式獲取實(shí)例(“不正常的實(shí)例”會(huì)更恰當(dāng)),Activity, Service, BroadcastReceiver, ContentProvider四大組件都存在生命周期,不建議在組件外調(diào)用定義的靜態(tài)變量或方法。

回答3:

不知道你說(shuō)Activity是不是Android的Activity組件,其中Activity組件在構(gòu)造的時(shí)候需要執(zhí)行attach方法,傳入Context,Window等對(duì)象;View為空的原因我猜測(cè)是因?yàn)闆](méi)有attach Window對(duì)象;Window對(duì)象是所有View的容器

回答4:

這并不是你想要的activity。請(qǐng)傳遞該activity的引用。

回答5:

看代碼里面其實(shí)你自己在前面已經(jīng)寫出來(lái)了getActivity()了,你把獲取到的這個(gè)Activity強(qiáng)轉(zhuǎn)成MainActivity就好了吧直接new一個(gè)Activity是沒(méi)有走生命周期方法的,并且這也不是你之前的那個(gè)MainActivity

回答6:

我這里的問(wèn)題是因?yàn)闆](méi)有為變量設(shè)置static,所以new對(duì)象出來(lái),變量會(huì)為空,要重新初始化。呃,基本知識(shí)沒(méi)過(guò)關(guān)。。但還是要感謝各位的解答!!

回答7:

這種情況用接口回調(diào)的方式不是更簡(jiǎn)單嗎?

主站蜘蛛池模板: 国内特级毛片 | 欧美国产综合日韩一区二区 | 黄 色 片在观看 | 日韩在线视频不卡 | 日韩视频中文字幕 | 亚洲一区二区三区四区在线 | 一级一级女人真片 | 欧洲精品在线视频 | 99精品久久秒播无毒不卡 | 在线国产高清 | 五十路一区二区三区视频 | 麻豆传媒免费入口 | 99re久久在热线播放最新地址 | 国内精品久久久久久影院老狼 | 生活一级毛片 | 玛雅视频网站在线观看免费 | 久久免费国产 | 在线国产高清 | 伊人激情久久综合中文字幕 | 久久成人国产精品二三区 | 日本免费新一区二区三区 | 国产精品久久久久久久久久98 | 国产日韩不卡免费精品视频 | 国产japan色系videos护士 国产jav | 亚洲精品自拍愉拍第二页 | 亚洲综合在线观看视频 | 国产72av国片精品jk制服 | 日韩免费毛片 | 国产伦久视频免费观看 视频 | 精品香蕉伊思人在线观看 | 国模福利视频在线播放 | 国产精品久久久久久爽爽爽 | 一级做a爰片久久毛片唾 | 97视频免费公开成人福利 | 精品一区二区三区在线播放 | 非洲一级毛片又粗又长aaaa | a毛片全部免费播放 | 色视频在线观看在线播放 | 亚洲午夜精品一区二区蜜桃 | 色噜噜国产精品视频一区二区 | 亚洲色图.com |