当前位置: 代码迷 >> Android >> 为什么会出现空指针错误
  详细解决方案

为什么会出现空指针错误

热度:11   发布时间:2016-05-01 21:58:50.0
为什么会出现空指针异常
Java code
addRoom.setOnClickListener(new android.view.View.OnClickListener(){    public void onClick(View v) {        builder = new AlertDialog.Builder(RoomSet.this);        TableLayout addroom = (TableLayout)getLayoutInflater().inflate(R.layout.addroom, null);        builder.setView(addroom);        newRoomET = (EditText)findViewById(R.id.addroom_et);        builder.setPositiveButton("确定"                // 为按钮设置监听器                , new android.content.DialogInterface.OnClickListener()                {                    public void onClick(DialogInterface dialog, int which)                    {                        //此处可执行登录处理                        name =  newRoomET.getText().toString();//[b]①处[/b]                                                ...                    }                }    }}


为什么①处会出现空指针异常。。。

------解决方案--------------------
你的程序一般是在一个activity。
所以findViewById() 如果不加前置的addroom话,默认会从activity中的layout中寻找R.id.addroom_et
, 而你要做的是AlertDialog中contentView的子view。 
所以他找不到, 返回null
------解决方案--------------------
activity通过findviewbyid只会找到setContentView指定的layout里面的控件,
而你R.layout.addroom是inflate的,
所有要用这个控件就需要通过inflate后生成的view
  相关解决方案