关于对话框内 无法获得EditText中的字符串
builder.setPositiveButton("登陆", new DialogInte易做图ce.OnClickListener() {@Override
public void onClick(DialogInte易做图ce dialog, int which) {
// TODO Auto-generated method stub
Log.d("0", "0");
EditText et1 = (EditText)findViewById(R.id.et1);
EditText et2 = (EditText)findViewById(R.id.et2);
Log.d("1.1", "1.1");
String str1 = et1.getEditableText().toString();
Log.d("1", "1");
String str2 = et2.getText().toString();
Log.d("2", "2");
File f1 = new File("d:/Android/",str1);
Log.d("3", "3");
.....}
error:java.lang.NullPointerException
只能查得到前面的2个log,请问问题在哪 --------------------编程问答-------------------- 如果你的Activity类为SampleActivity
请把代码
EditText et1 = (EditText)findViewById(R.id.et1);
EditText et2 = (EditText)findViewById(R.id.et2);
改成
EditText et1 = (EditText)SampleActivity.this.findViewById(R.id.et1);
EditText et2 = (EditText)SampleActivity.this.findViewById(R.id.et2); --------------------编程问答--------------------
是Activity --------------------编程问答-------------------- 额。看错了
你试下
builder.setPositiveButton("登陆", new DialogInte易做图ce.OnClickListener() {
@Override
public void onClick(DialogInte易做图ce dialog, int which) {
// TODO Auto-generated method stub
Log.d("0", "0");
EditText et1 = (EditText)findViewById(R.id.et1);
EditText et2 = (EditText)findViewById(R.id.et2);
Log.d("1.1", "1.1");
String str1 = et1.getEditableText().toString();
Log.d("1", "1");
if(et2 == null) {
Log.d("log", "et2 null");
}
if(et2.getText() == null {
Log.d("log", "et2 text null");
}
你看下到底是et2为null还是getText()返回的对象为null --------------------编程问答-------------------- 假如 et1 et2在test.xml中
LinearLayout test = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.test, null);
EditText et1 = (EditText)test.findViewById(R.id.et1);
EditText et2 = (EditText)test.findViewById(R.id.et2); --------------------编程问答--------------------
et1 为NULL --------------------编程问答-------------------- 你看下Activity对应的布局文件是否有id为et1的EditText。 --------------------编程问答-------------------- null报错不是都报到行的?
找个null错,也这么费劲? --------------------编程问答-------------------- id有。。但不知道为什么NULL --------------------编程问答-------------------- (EditText)test.this.findViewById(R.id.et1);
--------------------编程问答-------------------- 这个。。。可以不再监听事件中EditText et1 = (EditText)findViewById(R.id.et1);么。。那不是你点一次就new一个edittext先不说错误哦。反正这样不好。还有就是你的dailog是自定义的界面吗,我觉得是。。如果是的话EditText et1 = (EditText)findViewById(R.id.et1);这句就错的太离谱啦。。 --------------------编程问答-------------------- 我以前也遇到过,说个原因不知道跟你的对不对的上, 你的xml文件的大小写问题,xml文件命名不能有大写字母。 --------------------编程问答--------------------
对, --------------------编程问答-------------------- 按4楼的方法检查一下,如果再不行,重新导入项目,重装apk试一试
补充:移动开发 , Android