我有一个editText。当我尝试使用editText.getText().toString()
从onClickListener获取它的值时,它会抛出nullPointerException。这很奇怪,因为另一个editText正常给出了值。
以下是代码:
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
itemList.add(itemNameField.getText().toString());
itemQuantityList.add(itemQuantityField.getText().toString());
System.out.println(itemQuantityField.getText());
adapter.notifyDataSetChanged();
itemNameField.setText(" ");
}
});
第itemList.add(itemNameField.getText().toString());
行正常工作,但下一行会引发异常。
以下是错误日志:
04-16 11:39:58.935 1138-1138/com.grizeldi.gShopper E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NullPointerException
at com.grizeldi.gShopper.activities.ShoppingList$3.onClick(ShoppingList.java:61)
at android.view.View.performClick(View.java:2485)
at android.view.View$PerformClick.run(View.java:9080)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
任何人都知道发生了什么事?
答案 0 :(得分:0)
EditText ta = (EditText) findViewById(R.id.edittext1);
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String s1 = ta.getText().toString();
}
});
//then check s1 is null or not
答案 1 :(得分:-1)
您在文件NPE
Line number 61
上获得了ShoppingList.java:61
没有你的整个代码。
itemList.add(itemNameField.getText().toString());
itemQuantityList.add(itemQuantityField.getText().toString());
System.out.println(itemQuantityField.getText());
adapter.notifyDataSetChanged();
NPE的机会是 检查以下内容是否已正确初始化
itemNameField
itemQuantityField
itemList
itemQuantityList
adapter