新手学Android【四】问题一<运行app时的空指针错误>
2014-12-02 10:05
846 查看
由于是新手、所以总是出现很多不可预知甚至是很低级的错误、
如下、自己写了一个Activity、运行的时候总是报java.lang.NullException、
而且是在给btn添加监听事件的时候、一直很纠结是哪里错了、直到后来又写了一个类似的Activity的时候才发现、少写了两行代码、
super.onCreate(bundle);
this.setContentView(R.layout.login); //这一行是非常重要的、如果没有这一行、调用this.findViewById(R.id.loginbtn);的时候、程序就不知道去哪里找这个按钮了、所以返回的都是null
@Override
public void onCreate(Bundle bundle) {
loginBtn = (Button) this.findViewById(R.id.loginbtn);
registBtn = (Button) this.findViewById(R.id.registbtn);
loginIdEt = (EditText) this.findViewById(R.id.loginidet);
passwordEt = (EditText) this.findViewById(R.id.passwordet);
loginBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setLoginErrMsgTv("", 0);
loginId = loginIdEt.getText().toString();
password = passwordEt.getText().toString();
if((null != loginId && loginId.length() > 0) && (null != password && password.length() > 0)) {
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("loginid", loginId);
bundle.putString("password", password);
intent.putExtras(bundle);
intent.setClass(LoginActivity.this, LoginSuccessActivity.class);
startActivity(intent);
} else {
setLoginErrMsgTv(null, R.string.loginerrmsg);
}
}
});
registBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(LoginActivity.this, RegistActivity.class);
startActivity(intent);
}
});
}
如下、自己写了一个Activity、运行的时候总是报java.lang.NullException、
而且是在给btn添加监听事件的时候、一直很纠结是哪里错了、直到后来又写了一个类似的Activity的时候才发现、少写了两行代码、
super.onCreate(bundle);
this.setContentView(R.layout.login); //这一行是非常重要的、如果没有这一行、调用this.findViewById(R.id.loginbtn);的时候、程序就不知道去哪里找这个按钮了、所以返回的都是null
@Override
public void onCreate(Bundle bundle) {
loginBtn = (Button) this.findViewById(R.id.loginbtn);
registBtn = (Button) this.findViewById(R.id.registbtn);
loginIdEt = (EditText) this.findViewById(R.id.loginidet);
passwordEt = (EditText) this.findViewById(R.id.passwordet);
loginBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setLoginErrMsgTv("", 0);
loginId = loginIdEt.getText().toString();
password = passwordEt.getText().toString();
if((null != loginId && loginId.length() > 0) && (null != password && password.length() > 0)) {
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putString("loginid", loginId);
bundle.putString("password", password);
intent.putExtras(bundle);
intent.setClass(LoginActivity.this, LoginSuccessActivity.class);
startActivity(intent);
} else {
setLoginErrMsgTv(null, R.string.loginerrmsg);
}
}
});
registBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(LoginActivity.this, RegistActivity.class);
startActivity(intent);
}
});
}
相关文章推荐
- 新手学Android【四】问题一<running android lint has encountered a problem>
- <转>Python运行的17个时新手常见错误小结
- 关于android导入工程时出现的@Override错误问题的解决<转>
- Android_NDK问题:APP_BUILD_SCRIPT points to an unknown file: <project_path>/jni/Android.mk
- DEX 方法超过64K限制和gradle编译OOM问题解决,异常名:Error:Execution failed for task ':app:dexDebug'. > com.android.ide
- Android问题集锦之四十七: Error:Execution failed for task ':app:packageRelease'. > Unable to compute hash of
- Android App启动错误的问题(connection to the server was unsuccessful)
- 谈谈Android App运行时文件系统路径问题
- 我的Android进阶之旅------>解决错误:You need to use a Theme.AppCompat theme (or descendant) with this activity.
- 新手经常容易范的两个错误(数组和指针的问题)
- 初次在Android上运行opencv app时,出现的错误,以及解决
- 指针方面的问题,此程序调试显示是正确的,但是运行起来的结果是错误的为什么?求解
- android 下appcompat v7 导入包错误的问题
- android之List<T>的空指针问题_List的初始化
- exc_bad_access的错误,找不到<libxml/tree.h> 头文件,retina模拟器怎么缩小的问题,xcode5.1.1怎么运行6.1的模拟器,还有模拟器模拟location
- 关于Android中AdbWinApi.dll没有被指定在Windows上运行,或者它包含错误的问题解决
- (记录学习android遇到的问题)Error:Execution failed for task ':app:packageDebug'. > Failed to create
- javah命令的问题 最常见的 错误: 找不到类android.app.Activity。