我生成2个随机值,在EditText中你需要输入添加这两个值的结果,当我想要解析我从edittext获得的内容时,它会使我的应用程序崩溃
public class Main2Activity extends AppCompatActivity {
public int wynik;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
setContentView(R.layout.activity_main2);
TextView text = (TextView) findViewById(R.id.txtv);
Random r = new Random();
int i1 = (r.nextInt(100 - 1) + 1);
int i2 = (r.nextInt(100 - 1) + 1);
text.setText(i1 +" + " + i2 + " = ");
wynik =i1+i2;
};
public void backtomain(View view)
{
EditText editText = (EditText) findViewById(R.id.edittext);
String etstring =editText.getText().toString();
Integer etint = Integer.parseInt(etstring); <---------------- CRASH CUZ OF THIS LINE
//if(etint==wynik)
//{
Intent intent = new Intent(this, AalarmActivity.class);
intent.putExtra("toggleBtn", true);
startActivity(intent);
finish();
//}
//else
//{
// Toast.makeText(this, "Error ",
// Toast.LENGTH_LONG).show();
//}
}
}
注释行未完成首先需要修复该解析部分。
答案 0 :(得分:3)
您可能正在接收不是数字的输入。
您可以强制将输入类型用作mumber,在XML中修改EditText
并包含此属性:
android:inputType="number"
这将强制用户仅输入数字,而Integer.parseInt(etstring);
应该解析数字而不会出现格式异常。