开发我的第一个
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! button public 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
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。