我想在EditText中输入一个数字并将其解析为整数,但我在标题中有错误。
这是我的代码:
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 。
提前致谢。 问候。
答案 0 :(得分:2)
EditText属于对话框的布局。正如您对该按钮所做的那样,您应该使用matricesize
来检索它。 E.g。
editsize = (EditText) matricesize.findViewById(R.id.editsize);
答案 1 :(得分:2)
editsize = (EditText) findViewById(R.id.editsize);
此代码从活动布局获取视图,而不是对话框。改为:
editsize = (EditText) matricesize.findViewById(R.id.editsize);
就像,当您获得按钮视图时。
答案 2 :(得分:1)
如果EditText
没有内容,getText()
将返回null。