日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EditText 空指针问题

發(fā)布時間:2023/12/13 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EditText 空指针问题 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

今天在Android中碰到了這樣一個問題,其實應(yīng)該很少人會碰到,因為只有像我這種奇葩才會犯這種錯誤。

但既然解決了,我就想在這里跟大家分享一下,畢竟它困擾了我一個白天啊。。。不多說了,看下面。。。

其實問題很簡單,就是Caused By : java.lang.NullPointerException.

上面就是我在用EditText 的時候它給我提示的錯誤類型。

為了簡便,截取了部分代碼如下,這就是問題的根源所在。

super.onCreate(savedInstanceState);
final EditText et = (EditText)findViewById(R.id.editTextId);
String str = et.getText().toString().trim();
setContentView(R.layout.main);

咋一看,沒什么不對啊。就是因為我是新手,所以沒看出端倪來。然后拼命的報錯,拼命的上網(wǎng)查。

而網(wǎng)上卻沒有這個情況。。。

ADT Log 里面顯示的出錯位置就是String str = et.getText().toString().trim();這一行。

可它真的沒什么不對啊,如果此時你呵呵了。那么你已經(jīng)看出來了。

對,就是setContentView(R.layout.main);這句話位置放錯了,它應(yīng)該放在引用的資源文件的前面,在這里也就是

final EditText et = (EditText)findViewById(R.id.editTextId);這句話的前面。因為R.id.editTextId這個Id

引用到了R.layout.main這個Xml文件里面的對EditText的定義<EditText android:id="@+id/editTextId"

而在final EditText et = (EditText)findViewById(R.id.editTextId)句話之前我們并沒有把R.layout.main這個Xml

文件放到我們的Context中來。我們可以觀察一下findViewById()方法,會發(fā)現(xiàn)原來此方法中的R.id.editTextId是從當(dāng)前

Activity的主布局文件xml中獲取。而R.layout.main一定要先于findViewById(R.id.editTextId)在程序中聲明。

那么這樣改就對了:

super.onCreate(savedInstanceState);

setContentView(R.layout.main);
final EditText et = (EditText)findViewById(R.id.editTextId);
String str = et.getText().toString().trim();

這是本人犯的低價錯誤,對于大神沒有什么參考價值,但我確確實實被它耍了一回,所以有必要在這里分享一下。

轉(zhuǎn)載于:https://www.cnblogs.com/beyondckw/p/3959662.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的EditText 空指针问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。