2011-11-02 61 views
0

我有一個應用程序,我想計算編輯文本。 我有這樣的代碼:Android - 如何從edittext中獲取文本並計算它們?

package com.minimale.cijfer; 

import android.app.Activity; 
import android.os.Bundle; 
import android.text.InputType; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

import com.minimale.cijfer.R; 

public class main extends Activity { 
    /** Called when the activity is first created. */ 
     EditText gehaald_een; 
     EditText gehaald_twee; 
     EditText gehaald_drie; 
     EditText gehaald_een_weging; 
     EditText gehaald_twee_weging; 
      EditText gehaald_drie_weging; 
     EditText nieuw; 
     EditText nieuw_weging; 
     EditText finalResult; 


    OnClickListener radioGroup; 


    double een; 
    double twee; 
    double drie; 
    double vier; 
    double een_c; 
    double twee_c; 
    double drie_c; 
    double nieuw_c; 
    double weging_t; 
    double answer; 


    Button addButton; 
    Button divideButton; 
    Button multiplyButton; 
    Button subtractButton; 
    Button final_calculation; 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     gehaald_een = (EditText)findViewById(R.id.editText1); 
     gehaald_twee = (EditText)findViewById(R.id.editText2); 
     gehaald_drie = (EditText)findViewById(R.id.editText3); 
     gehaald_een_weging = (EditText)findViewById(R.id.editText4); 
     gehaald_twee_weging = (EditText)findViewById(R.id.editText5); 
     gehaald_drie_weging = (EditText)findViewById(R.id.editText6); 
     finalResult = (EditText)findViewById(R.id.answer); 

     nieuw = (EditText)findViewById(R.id.editText7); 
     nieuw_weging = (EditText)findViewById(R.id.editText8); 


     divideButton =(Button)findViewById(R.id.button1); 
     divideButton.setOnClickListener(new DivideButtonHandler()); 




    } 


    private class DivideButtonHandler implements OnClickListener{ 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      een = Double.parseDouble(gehaald_een_weging.getText().toString()); 
      twee = Double.parseDouble(gehaald_twee_weging.getText().toString()); 
      drie = Double.parseDouble(gehaald_drie_weging.getText().toString()); 
      vier = Double.parseDouble(nieuw_weging.getText().toString()); 
      een_c = Double.parseDouble(gehaald_een.getText().toString()); 
      twee_c = Double.parseDouble(gehaald_twee.getText().toString()); 
      drie_c = Double.parseDouble(gehaald_drie.getText().toString()); 
      nieuw_c = Double.parseDouble(nieuw.getText().toString()); 
      weging_t = Double.parseDouble(nieuw_weging.getText().toString()); 


      answer = ((een + twee + drie + vier) * nieuw_c - ((een_c * een) + (twee *    twee_c))/weging_t); 
      finalResult.setText(answer + ""); 

     } 

    } 



} 

但是,當我在按鈕上運行我的應用程序,並填寫的EditText框,然後按,我的應用程序強制關閉。有人知道我做錯了什麼嗎?

+1

什麼是替代

finalResult.setText(answer + ""); 

出現在Logcat輸出中的堆棧跟蹤? –

+0

@格拉姆伯蘭德我現在不怎麼看,我現在有2天在我的電腦與Eclipse日誌,它不同於Windows日食 – Gromdroid

+0

後ur主main.xml。必須有錯誤,因爲我嘗試了我們的代碼,它對我來說工作得很好。要查看logcat輸出,請從ur cmd提示符處運行adb logcat命令。 http://developer.android.com/guide/developing/tools/adb.html#logcat – Rohit

回答

2

使用

Double.valueOf(String s); 

,而不是

Double.parseDouble(); 

,並與

finalResult.setText(Double.toString(answer) + ""); 
+0

這沒有奏效,仍然強行關閉 – Gromdroid

相關問題