为什么会出现空指针错误
为什么会出现空指针异常
为什么①处会出现空指针异常。。。
------解决方案--------------------
你的程序一般是在一个activity。
所以findViewById() 如果不加前置的addroom话,默认会从activity中的layout中寻找R.id.addroom_et
, 而你要做的是AlertDialog中contentView的子view。
所以他找不到, 返回null
------解决方案--------------------
activity通过findviewbyid只会找到setContentView指定的layout里面的控件,
而你R.layout.addroom是inflate的,
所有要用这个控件就需要通过inflate后生成的view
- 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