问题描述
- 求问一条java.lang.NULLPointerExcption的问题
-
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View.*;
import android.widget.*;
import android.view.View;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.view.Menu;
import android.view.MenuItem;
import android.view.*;public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /* EditText txt=(EditText)findViewById(R.id.edittext1); EditText txt1=(EditText)findViewById(R.id.edittext2); registerForContextMenu(txt); registerForContextMenu(txt1); */ Button btn=(Button)findViewById(R.id.button1); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { LayoutInflater factory=LayoutInflater.from(MainActivity.this); View myview=factory.inflate(R.layout.view,null); Dialog dialog=new AlertDialog.Builder(MainActivity.this) .setTitle("请登录") .setView(myview) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog,int which) { } }) .create(); dialog.show(); } }); }
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}/* @Override
public void onCreateContextMenu(ContextMenu menu,View Source,ContextMenu.ContextMenuInfo menuinfo)
{
MenuInflater inflater=new MenuInflater(this);
inflater.inflate(R.menu.context,menu);
} */
}edittext1和edittext2是在另一个布局文件里的(用作自定义对话框),我把程序中注释的那部分注释掉,就没有问题,但是去了注释,程序就出现问题了,在运行的时候logcat就出现了java.lang.NuLLPointerException这个问题,但是我找不到是哪里出错?求大神指教
解决方案
EditText txt=(EditText)findViewById(R.id.edittext1);执行这句话的时候,程序会去activity_main布局中查找ID为edittext1的控件,但是你这个布局中没有,so。。。
如果想操作领导的布局,则要用LayoutInflater,你可以百度一下用法
解决方案二:
你的布局中有name为edittext1和edittext2的EditText么
解决方案三:
空指针异常,最好的办法就是debug,看看哪行报错