读书人

为什么会出现空指针错误

发布时间: 2012-03-13 11:21:12 作者: rapoo

为什么会出现空指针异常

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

读书人网 >Android

热点推荐