java - 简单的矩形面积计算崩溃

标签 java android

我是 android 的新手,目前正在尝试创建一个简单的应用程序来计算矩形的面积。

执行计算时,将结果显示在指定的TextView上。

这是我当前用于计算矩形面积的代码:

<pre><code>package org.me.myandroidstuff; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.TextView; import android.widget.Button; import android.app.Activity; import android.os.Bundle; public class CalculateRectangleArea2Activity extends Activity implements OnClickListener{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); EditText length = (EditText) findViewById(R.id.txtLength); EditText width = (EditText) findViewById(R.id.txtWidth); TextView result = (TextView) findViewById(R.id.lblResult); Button calculate = (Button) findViewById(R.id.btnCalculate); calculate.setOnClickListener(this); } public void onClick(View v){ EditText length = (EditText) findViewById(R.id.txtLength); EditText width = (EditText) findViewById(R.id.txtWidth); calculateArea(length.getText().toString(), width.getText().toString()); } private void calculateArea(String clength, String cwidth){ TextView result = (TextView) findViewById(R.id.lblResult); int area = Integer.parseInt(clength)*Integer.parseInt(cwidth); result.setText(area); }} </code></pre>

这是我的 main.xml 文件:

<pre><code><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" tools:context=".MainActivity" > <EditText android:id="@+id/txtLength" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="number"/> <EditText android:id="@+id/txtWidth" android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="number"/> <TextView android:id="@+id/lblResult" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <Button android:id="@+id/btnCalculate" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout> </code></pre>

点击按钮进行计算时,应用程序出现错误“应用程序calculateRectangleArea2意外停止,请重试。”

我相信这与 NullPointerException 有关,尽管尝试通过 logCat 和断点跟踪错误并没有帮助。

任何帮助将不胜感激:),谢谢!

最佳答案

尝试使用:

result.setText(String.valueOf(area));

代替:

result.setText(area);

setText() 需要一个 String 或 CharSequence 参数,而您向它传递一个 int。这可能会导致您的崩溃。

此外,您不需要一遍又一遍地获取对每个 View 的引用。在 onCreate() 中将它们分配给实例变量一次就足够了。

关于java - 简单的矩形面积计算崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14613580/

相关文章:

java - 在Java中使用过滤器时如何替换表达式?

java - 提供对字符串形式的所有可用数据的编程访问 : toString()

java - Spring - 注入(inject)一些未通过构造函数传递的字段

java - 如何在 spring 中找到与 spring.xml 不在同一级别的文件?

java.lang.NullPointerException : in androidstudio

java - 如何将 C++ 中的 double 转换为 Java

java - Android:从ArrayList中提取数据

java - 为什么我遇到以下代码 :Exception in thread "main" java. lang.OutOfMemoryError: Java 堆空间错误

java - 奇怪的 Java for 循环格式

android - 捕获RatingBar点击