将java NullPointerException解析edittext返回int
我想在EditText中输入一个数字并将其解析为整数,但标题中出现了错误 这是我的密码:将java NullPointerException解析edittext返回int,java,android,android-studio,Java,Android,Android Studio,我想在EditText中输入一个数字并将其解析为整数,但标题中出现了错误 这是我的密码: final Context contextmatrice = this; public static int n=0; public EditText editsize; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSt
final Context contextmatrice = this;
public static int n=0;
public EditText editsize;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_matrice);
}
public void ToAddMat (View ViewToAddMat) {
final Dialog matricesize = new Dialog(contextmatrice);
matricesize.setContentView(R.layout.dialogmatricesize);
editsize = (EditText) findViewById(R.id.editsize);
Button dialogbutton = (Button) matricesize.findViewById(R.id.closedialog);
dialogbutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
n = Integer.parseInt(editsize.getText().toString());
matricesize.dismiss();
Intent IntentToAddMat = new Intent(MatriceActivity.this, AddMatriceActivity.class);
startActivity(IntentToAddMat);
}
});
以下是my dialog.xml:
android:layout\u width=“wrap\u content”
android:layout\u height=“包装内容”
android:orientation=“垂直”
android:layout\u centerInParent=“true”>
单击按钮启动对话框时,用户可以输入一个值,单击另一个按钮关闭对话框并启动另一个活动,该值被赋予变量n
提前谢谢。
关于。如果
EditText
没有内容,则getText()
返回null。如果EditText
没有内容,则getText()
返回null。编辑文本属于对话框的布局。正如您对按钮所做的那样,您应该使用matricesize
来检索它。例如
editsize = (EditText) matricesize.findViewById(R.id.editsize);
编辑文本属于对话框的布局。正如您对按钮所做的那样,您应该使用
matricesize
来检索它。例如
editsize = (EditText) matricesize.findViewById(R.id.editsize);
此代码是从活动布局而不是对话框获取视图。更改为:
editsize = (EditText) matricesize.findViewById(R.id.editsize);
例如,当您获取按钮的视图时
此代码是从活动布局而不是对话框获取视图。更改为:
editsize = (EditText) matricesize.findViewById(R.id.editsize);
例如,当您获取按钮的视图时。它不会。它返回一个空字符串如果这个答案正确,那么用户将获得
NumberFormatException
而不是NPE
No。null.toString()抛出NPE.And editsize=(EditText)matricesize.findViewById(R.id.editsize)似乎是正确的。它不是。它返回一个空字符串如果这个答案正确,那么用户将获得NumberFormatException
而不是NPE
No。null.toString()抛出NPE.And editsize=(EditText)matricesize.findViewById(R.id.editsize)似乎是正确的。只需几秒钟:)只需几秒钟:)