国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android中findViewById獲取控件返回為空問(wèn)題怎么解決

2019-12-12 06:11:13
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在Android程序中,有時(shí)候需要加載非原來(lái)activity中xml布局中的控件,來(lái)使Android程序的界面更加豐富。

  我本身是在使用ViewFlipper中遇到的問(wèn)題。

public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main); inflater=(LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);View view=inflater.inflate(R.layout.myview, null);ImageView view=(ImageView)findViewById(R.id.imageview); } 

眾所周知,我們通過(guò)調(diào)用findViewById來(lái)獲取布局中的控件元素,但是在我運(yùn)行的時(shí)候發(fā)現(xiàn)出現(xiàn)了 java.lang.NullPointerException的錯(cuò)誤。一開(kāi)始我以為是獲取的view還是為空,但最終發(fā)現(xiàn)的是獲取的ImageView是空的。因?yàn)樵赗.java中已經(jīng)成功生成myview和imageview的id。經(jīng)過(guò)一些時(shí)間的搜索查詢(xún),發(fā)現(xiàn)我們?cè)谥貙?xiě)Adapter的getView()函數(shù)時(shí),獲取一個(gè)控件元素是通過(guò)

holder.imageView=(ImageView)convertView.findViewById(R.id.imageView); 

這樣的形式去獲取的。

  所以我突然想到,如果在activity中直接調(diào)用findViewById方法,它的完整形式是this.findViewById().而我所需要的控件是不存在本身activity的布局中的,所以在獲取時(shí)改為

ImageView view=(ImageView)view.findViewById(R.id.imageview); 

即通過(guò)控件所在的view調(diào)用findViewById方法,就可以獲取到正確的控件了。

  這個(gè)本身不是什么大問(wèn)題,但是如果不注意還是會(huì)花費(fèi)一定的時(shí)間,在此我只是為自己做好筆記,也為廣大開(kāi)發(fā)Android的朋友提供便利。

以上所述是小編給大家介紹的Android中findViewById獲取控件返回為空問(wèn)題的解決辦法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 遂昌县| 平舆县| 松潘县| 甘洛县| 方正县| 徐州市| 内丘县| 江孜县| 叙永县| 平利县| 宝山区| 久治县| 孝昌县| 河曲县| 阿克苏市| 东阳市| 北辰区| 泉州市| 陇西县| 安西县| 屏东县| 竹山县| 文昌市| 兴安盟| 九龙县| 浏阳市| 湘乡市| 陕西省| 确山县| 宜兰市| 庐江县| 禄丰县| 报价| 广灵县| 兴化市| 邵阳市| 临澧县| 东海县| 福建省| 丹凤县| 崇左市|