我检查了这个网站如何在java(android)中将字符串转换为整数类型....其中一个建议是使用(integer.parseint)我使用它,当我运行我的应用程序时,它说我的应用程序我已经停止了下面的代码。
public void clickable (View view){
EditText mytext = (EditText) findViewById(R.id.Creat);
int number = Integer.parseInt(mytext.getText().toString());
Toast.makeText(getApplicationContext(), number ,Toast.LENGTH_LONG).show();
}
我无法弄清楚代码有什么问题?!
答案 0 :(得分:1)
将EditText mytext变量声明为全局变量,然后在Activity的Oncreate()方法中初始化它。然后您的可点击方法如下所示:
public void clickable (View view){
int number = Integer.parseInt(mytext.getText().toString());
Toast.makeText(getApplicationContext(), mytext.getText().toString(), Toast.LENGTH_LONG).show();
}
Obeserve Toast.makeText()方法的第二个参数是要使用的字符串资源的资源ID,或者它可以是格式化文本。在您的代码中,您传递了一个整数作为不存在的资源ID。所以你得到ResourcesNotFoundException。
答案 1 :(得分:0)
你传入Integer.parseInt()的字符串是什么?如果它不是整数,则程序将遇到NumberFormatException。我不确定这是否存在问题,但我不确定你将什么传递给Integer.parseInt()。
答案 2 :(得分:0)
Toast.makeText
有很多实现。当您传递int
作为第二个参数时,将执行以下实现:
Toast makeText(Context context, @StringRes int resId, @Duration int duration)
如果找不到ID为ResourcesNotFoundException
的资源,此实现将抛出resId
。
要将number
输出为String
,您需要转换它:
Toast.makeText(getApplicationContext(), String.valueOf(number), Toast.LENGTH_LONG).show();