首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

为什么会出现空指针错误

2012-03-13 
为什么会出现空指针异常Java codeaddRoom.setOnClickListener(new android.view.View.OnClickListener(){p

为什么会出现空指针异常

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

热点排行