parseInt崩溃的android应用

parseInt崩溃的android应用,第1张

概述因此,我尝试制作一个计算器应用程序(只是为了摆脱android开发的困扰),并且通过一些测试发现,从“Stringtack1”进行的parseInt转换导致该应用程序崩溃.有人可以告诉我为什么吗?我似乎无法弄清楚,我已经在互联网上搜索了很长一段时间.(嘿,我是菜鸟,所以请放轻松.)在下面的代码中,

因此,我尝试制作一个计算器应用程序(只是为了摆脱android开发的困扰),并且通过一些测试发现,从“ String tack1”进行的parseInt转换导致该应用程序崩溃.有人可以告诉我为什么吗?我似乎无法弄清楚,我已经在互联网上搜索了很长一段时间. (嘿,我是菜鸟,所以请放轻松.)在下面的代码中,我修改了几行,以使其看上去应该打印的内容显而易见,但仍然崩溃.这是代码:

equals.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw v) {            oC = 1; //operator checker is on 1 (for plus)            switch(oC){ //check for operator clicked                case 0: break;                case 1:                   tack1 = "1"; //INSERTED THIS TO MAKE OUTPUT OBVIoUS                   tack1 = tack1.trim(); tack2 = tack2.trim(); //INSERTED BEFORE TO DEAL WITH WHITESPACE                   numOne = Integer.parseInt(tack1); //CRASHES HERE                   answer.setText(numOne);                   modeChecker = 0; oC = 0;break;

程序注释(重复一些评论,以及其他内容):

该tack1 =“ 1”;使输出明显

tack1.trim()用于处理空格

是的,附带条件的是数字和整数(甚至不是负整数)

是的,numOne是一个整数,在上面定义过(不是在此处列出的代码中)

抱歉,由于我添加的注释,所有缩进都搞砸了(案例1之后)

这是我的onClick方法的一部分,因此此处不包括右括号.

有人可以帮帮我吗?
谢谢:D

解决方法:

我愿意打赌它实际上是在parseInt调用之后的下一行崩溃的.

您正在TextVIEw上调用setText(int).当您将int传递给此方法时,该int是指向字符串资源的指针…您可能期望自动转换为字符串.由于您要传递的是应用程序中生成的int值,因此该int值极不可能指向res / values / strings.xml文件中的字符串资源.您真正想要做的是首先将numOne更改为字符串,您可以内联执行此 *** 作:

更改

answer.setText(numOne);

answer.setText(String.valueOf(numOne));

而且你很好.

总结

以上是内存溢出为你收集整理的parseInt崩溃的android应用全部内容,希望文章能够帮你解决parseInt崩溃的android应用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1084553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存