android.widget.Button无法强制转换为android.widget.EditText

android.widget.Button无法强制转换为android.widget.EditText,第1张

概述开发我的第一个 Android计算器应用程序,我成功通过意图传递答案来更新新活动中的TextView,但这需要用户点击返回执行另一个计算.我正在尝试使doCalculation按钮更新MainActivity中的简单TextView并获取错误: 06-22 11:08:17.318:E / AndroidRuntime(31328):引起:java.lang.ClassCastException: 开发我的第一个 Android计算器应用程序,我成功通过意图传递答案来更新新活动中的TextVIEw,但这需要用户点击返回执行另一个计算.我正在尝试使doCalculation按钮更新MainActivity中的简单TextVIEw并获取错误:

06-22 11:08:17.318:E / AndroIDRuntime(31328):引起:java.lang.classCastException:androID.Widget.button无法强制转换为androID.Widget.EditText

这是我的代码:

/** Called when the user clicks the Calculate! button */public voID doCalculation(VIEw vIEw) {    // Do something in response to button    int answerInt;    String answer;    EditText numberOne = (EditText) findVIEwByID(R.ID.number1);    EditText numberTwo = (EditText) findVIEwByID(R.ID.number2);    int numberOnee = Integer.parseInt(numberOne.getText().toString());    int numberTwoo = Integer.parseInt(numberTwo.getText().toString());    answerInt = numberOnee * numberTwoo;    answer = Integer.toString(answerInt);    TextVIEw homeAnswerVIEw = (TextVIEw) findVIEwByID(R.ID.homeAnswerVIEw);    homeAnswerVIEw.setTextSize(40);    homeAnswerVIEw.setText(answer);}

作为参考,这里是成功启动新活动的代码:

// Called when the user clicks the Calculate! buttonpublic voID doCalculation(VIEw vIEw) {    // Do something in response to button    int answerInt;    String answer;    Intent intent = new Intent(this,displayCalculationActivity.class);    EditText numberOne = (EditText) findVIEwByID(R.ID.number1);    EditText numberTwo = (EditText) findVIEwByID(R.ID.number2);    int numberOnee = Integer.parseInt(numberOne.getText().toString());    int numberTwoo = Integer.parseInt(numberTwo.getText().toString());    answerInt = numberOnee * numberTwoo;    answer = Integer.toString(answerInt);    intent.putExtra(EXTRA_MESSAGE,answer);    startActivity(intent);}

UPDATE,XML供参考:

<EditText    androID:ID="@+ID/number2"    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:layout_below="@+ID/textVIEw3"    androID:layout_centerHorizontal="true"    androID:layout_margintop="16dp"    androID:ems="10"    androID:inputType="number" /><EditText    androID:ID="@+ID/number1"    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:layout_below="@+ID/textVIEw1"    androID:layout_centerHorizontal="true"    androID:ems="10"    androID:inputType="number"    androID:singleline="true" /><button    androID:ID="@+ID/calculateBtn"    androID:layout_wIDth="wrap_content"    androID:layout_height="wrap_content"    androID:layout_alignleft="@+ID/number2"    androID:layout_alignRight="@+ID/number2"    androID:layout_below="@+ID/number2"    androID:layout_margintop="14dp"    androID:onClick="doCalculation"    androID:text="Calculate!" />

谢谢您的帮助,
-Michael

解决方法 似乎R.ID.number1或R.ID.number2是一个button.检查您的XML并确保它是EditText.

编辑:原始答案不起作用,但清理项目解决了问题.

总结

以上是内存溢出为你收集整理的android.widget.Button无法强制转换为android.widget.EditText全部内容,希望文章能够帮你解决android.widget.Button无法强制转换为android.widget.EditText所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存