NullPointerException
生活随笔
收集整理的這篇文章主要介紹了
NullPointerException
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
============問題描述============
public?class?MainActivity?extends?Activity??
{
????Button?button=(Button)findViewById(R.id.button);
@Override
????protected?void?onCreate(Bundle?savedInstanceState)?{
????????super.onCreate(savedInstanceState);
????????setContentView(R.layout.fragment_main);
??????button.setOnClickListener(new?OnClickListener()
??????{
@Override
public?void?onClick(View?v)?{
Intent?intent=new?Intent();
intent.setAction(Intent.ACTION_CALL);//private?abstract?constant?String?Intent。ACTION_CALL
intent.setData(Uri.parse("tel:"+"110"));
?
startActivity(intent);
}
});??
????}
}
為啥報錯NullPoinerException??
============解決方案1============
Button?button=(Button)findViewById(R.id.button);要寫在oncreate里面……
============解決方案2============
在沒有綁定布局之前,是得不到button對象的,同意樓上
============解決方案3============
寫在setContentView(R.layout.fragment_main);的下面
============解決方案4============
如圖中提示一樣,把button的初始化寫到setContentView(R.layout.fragment_main);的下面就ok了
============解決方案5============
需要了解activity的原理,activity?并不是界面,而是window的控制器,只有加載了layout才能有展示,才能找到layout里面的組件
============解決方案6============
加載布局文件之后才能去獲取控件
============解決方案7============
??Button?button=(Button)findViewById(R.id.button);這個參考樓上,還有要實現接口??implements??OnClickListener
============解決方案8============
button的初始化應該在onCreat里面
轉載于:https://www.cnblogs.com/meizhenfen42/p/4044476.html
總結
以上是生活随笔為你收集整理的NullPointerException的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web 开发之js---js 中的数组操
- 下一篇: request.setCharacter