我想在EditText中输入数字并将其解析为Integer,但是标题中有错误。
这是我的代码:
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);
}
});
这是我的dialog.xml:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerInParent="true">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Entrez la taille de\n vos matrices carrées"
android:id="@+id/editsize"
android:gravity="center"
android:inputType="number"
android:background="#ffffff"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK"
android:onClick="closedialog"
android:id="@+id/closedialog"
android:layout_gravity="center"/>
</LinearLayout>
在单击按钮时,将启动一个对话框,用户可以输入一个值;在单击另一个按钮时,可以关闭该对话框并启动另一个活动,该值将分配给变量n。
提前致谢。
问候。
最佳答案
editsize = (EditText) findViewById(R.id.editsize);
该代码从活动布局而不是对话框获取视图。更改为此:
editsize = (EditText) matricesize.findViewById(R.id.editsize);
就像,当您正在查看按钮时。