LogCat
08-21 15:16:02.377: E/AndroidRuntime(9022): java.lang.RuntimeException: Unable to instantiate application com.util.App: java.lang.IllegalStateException: Unable to get package info for com.example.oldtest; is package not installed?
08-21 15:16:02.377: E/AndroidRuntime(9022): at android.app.LoadedApk.makeApplication(LoadedApk.java:575)
08-21 15:16:02.377: E/AndroidRuntime(9022): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4506)
08-21 15:16:02.377: E/AndroidRuntime(9022): at android.app.ActivityThread.access$1500(ActivityThread.java:148)
08-21 15:16:02.377: E/AndroidRuntime(9022): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1343)
08-21 15:16:02.377: E/AndroidRuntime(9022): at android.os.Handler.dispatchMessage(Handler.java:102)
08-21 15:16:02.377: E/AndroidRuntime(9022): at android.os.Looper.loop(Looper.java:135)
08-21 15:16:02.377: E/AndroidRuntime(9022): at android.app.ActivityThread.main(ActivityThread.java:5240)
08-21 15:16:02.377: E/AndroidRuntime(9022): at java.lang.reflect.Method.invoke(Native Method)
08-21 15:16:02.377: E/AndroidRuntime(9022): at java.lang.reflect.Method.invoke(Method.java:372)
08-21 15:16:02.377: E/AndroidRuntime(9022): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950)
08-21 15:16:02.377: E/AndroidRuntime(9022): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
08-21 15:16:02.377: E/AndroidRuntime(9022): Caused by: java.lang.IllegalStateException: Unable to get package info for com.example.oldtest; is package not installed?
08-21 15:16:02.377: E/AndroidRuntime(9022): at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:409)
08-21 15:16:02.377: E/AndroidRuntime(9022): at android.app.LoadedApk.makeApplication(LoadedApk.java:567)
08-21 15:16:02.377: E/AndroidRuntime(9022): ... 10 more
---------------------------------------------------------------------------------------------------------------------------------------------------------
str1.equals(str2)来判断,不能用==或者!=来判断,原因:
因为String是引用类型的,不是基本数据类型,所以它们的比较是使用地址和值(相当于C中的指针)来比较的,因为它们是不同的对象,有不同的地址,所以str1!=str2永远都是true。而str1==str2永远是false。如果你中想比较它们的数值是否相等就使用str1.equals(str2)。使用==或者!=是对象的比较,它们为真的条件是:不仅要求是同一对象,而值也要求相等。
因此判断editText输入是否为空,可以这样来:
if("".equals(editText.getText().toString().trim()))
上面这行代码的意思是:
""代表空,什么都没输入。
equals的意思是""跟equals后面括弧里的东西进行对比,如果一样就为空。括弧里的就是实际输入的东西
editText.getText()就是取得里面的东西。toString()转化为字符串。trim()的意思是,拿到里面的东西后,把前后的空格都过滤掉。
直接在xml里设置editText的输入限制为:数字 这样程序就不用判断了,要么什么都没有,要么就是数字。
android:inputType="number"
edittext的属性里,还可以限制最多可以输入的字符个数,即length。
android:maxLength="3"
一个综合的下例子:
if("".equals(et.getText().toString()))
{
new AlertDialog.Builder(this)
.setMessage("身高不能为空")
.setPositiveButton("Ok", null)
.show();
return;
}
还可以这样来判断是否输入为空
mEditText.getText().length()== 0
mEditText.getText().toString() == null
mEditText.getText().toString().equals("")
参考网址:http://bbs.9ria.com/thread-224662-1-1.html