我想在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);


就像,当您正在查看按钮时。

10-08 08:14