开发者

why my android app force close

i will put my code in the description. the code is to solve the Pythagorean theorem

  package com.example;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class PythagoreantheoremActivity<textField> extends Activity {
    /** Called when the activity is first created. */
    EditText field1;
    EditText field2;
    TextView text1;
    String nu开发者_StackOverflow社区m1;
    String num2;
    String RAnswer;
    double num3;
    double num4;
    double num5;
    double num6;
    double fnum;
    double snum;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button1 = (Button) findViewById(R.id.button1);
        field1 = (EditText) findViewById(R.id.tf1);
        text1 = (TextView) findViewById(R.id.text1);
        field2 = (EditText) findViewById(R.id.tf2);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override   
            public void onClick(View v) {       
                text1.setText(RAnswer);
                double fnum = Double.parseDouble(num1);
                double snum = Double.parseDouble(num2);
                String RAnswer = Double.toString(num6);
                num2 = field1.toString();
                num1 = field2.toString();
                num3 = fnum * fnum;
                num4 = snum * snum; 
                num5 = num4 + num3;
                num6 = sqrt(num5);
            }

            private double sqrt(double num5) {
                // TODO Auto-generated method stub
                return num6;
            }
        });
}

}

here is my manifestcode

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="4" />
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".TheoremappActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>


try moving your sqrt() method outside of the setOnClickListener() method.
i.e.

button1.setOnClickListener(new View.OnClickListener() {
        @Override   
        public void onClick(View v) {       
            text1.setText(RAnswer);
            double fnum = Double.parseDouble(num1);
            double snum = Double.parseDouble(num2);
            String RAnswer = Double.toString(num6);
            num2 = field1.toString();
            num1 = field2.toString();
            num3 = fnum * fnum;
            num4 = snum * snum; 
            num5 = num4 + num3;
            num6 = sqrt(num5);
        }


    });
private double sqrt(double num5) {
            // TODO Auto-generated method stub
            return num6;
        }


Use Math class to access the square root. Math.sqrt(number) I think was the name.

if you want to get the text from the view you do:

         num2 = field1.getText().toString(); 
        num1 = field2.getText().toString();

You need a lot of parsing here, use Double.valueOf(yourstring);

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜