午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

android - 為什么用new方法構造的Activity對象,其中的View成員變量是為空的?

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

問題描述

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

錯誤類型是android - 為什么用new方法構造的Activity對象,其中的View成員變量是為空的?

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

然后,調試結果如下android - 為什么用new方法構造的Activity對象,其中的View成員變量是為空的?android - 為什么用new方法構造的Activity對象,其中的View成員變量是為空的?

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

對比上面的情況,我覺得通過findViewById方法初始化的View對象,只屬于Activity這個類本身,所以由它使用是沒問題的。但是通過new方法構造的Activity對象,得到的是沒有初始化的View對象。所以究竟是怎么回事呢???

問題解答

回答1:

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

回答2:

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

回答3:

不知道你說Activity是不是Android的Activity組件,其中Activity組件在構造的時候需要執(zhí)行attach方法,傳入Context,Window等對象;View為空的原因我猜測是因為沒有attach Window對象;Window對象是所有View的容器

回答4:

這并不是你想要的activity。請傳遞該activity的引用。

回答5:

看代碼里面其實你自己在前面已經寫出來了getActivity()了,你把獲取到的這個Activity強轉成MainActivity就好了吧直接new一個Activity是沒有走生命周期方法的,并且這也不是你之前的那個MainActivity

回答6:

我這里的問題是因為沒有為變量設置static,所以new對象出來,變量會為空,要重新初始化。呃,基本知識沒過關。。但還是要感謝各位的解答??!

回答7:

這種情況用接口回調的方式不是更簡單嗎?

主站蜘蛛池模板: aaaaaa毛片 | 特级黄色录像 | 天堂网av手机版 | 亚洲一区在线看 | 偷偷操不一样的久久 | 成人av在线资源 | 成人香蕉视频在线观看 | 狠狠狠狠狠狠狠狠 | 日本在线观看www | 视频一区二区在线 | 国产高清免费av | 91亚洲国产成人久久精品麻豆 | 你懂的网址在线观看 | 亚洲精品资源 | a天堂在线资源 | 男女嘿咻嘿咻视频 | 婷婷色六月 | 四虎com | 欧美亚洲网站 | 久久久精品久久久 | 91精品一区二区 | 顶级嫩模啪啪呻吟不断好爽 | 日韩三级一区二区三区 | 三级视频在线播放 | 夜夜春很很躁夜夜躁 | 精品一区二区成人免费视频 | 亚洲国产二区 | 欧美日韩免费一区二区三区 | 成人免费视频一区 | 四虎网址在线观看 | 日韩精美视频 | 91精品国产日韩91久久久久久 | 91狠狠| 天天看天天操 | 欧美日韩操 | 亚洲日日日 | 亚洲免费在线播放 | 午夜激情福利视频 | 色综合视频在线 | 久久精品国产亚洲7777 | 欧美日韩视频 |