Android 如何获取EditText值
我有一个编辑文本。当我尝试使用Android 如何获取EditText值,android,android-edittext,tostring,Android,Android Edittext,Tostring,我有一个编辑文本。当我尝试使用editText.getText().toString()从onClickListener获取它的值时,它抛出一个nullPointerException。它是wierd,因为另一个editText通常给出值 代码如下: addButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
editText.getText().toString()
从onClickListener获取它的值时,它抛出一个nullPointerException。它是wierd,因为另一个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)
有人知道发生了什么吗?您在文件购物列表中的行号61
上获得了NPE
。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
检查您已正确初始化的itemQuantityField我执行此操作itemQuantityField=(EditText)findViewById(R.id.itemQuantityField)代码>发布您的布局xml和更多相关代码。@grizeldi还检查您是否有initialize itemQuantityList列表。@grizeldi很高兴这有帮助。快乐的编码朋友。对于落选者,你能解释一下你落选的原因吗。如果答案是错误的,我可以提高自己。请添加一些解释,说明您的代码如何以及为什么解决了这个问题
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