2012-08-01 54 views
-4

我在eclipse中沒有收到任何錯誤。 (這只是一個部分的應用程序,我已經爲第一個「添加」按鈕功能編碼)。請在這裏幫忙,因爲我的應用程序在輸入值並單擊添加按鈕後崩潰。 這裏是我的代碼: -不幸的是,計算器已經停止。

package ajay.calculator; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.EditText; 
import android.widget.TextView; 
public class MainActivity extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    EditText box1 = (EditText)findViewById(R.id.box_1); 
    EditText box2 = (EditText)findViewById(R.id.box_2); 




} 




public void addNumbers(EditText box1,EditText box2){ 

double a,b; 

String str,str2 = new String();  
str = box1.getText().toString(); 
str2 = box2.getText().toString(); 
a = Double.parseDouble(str); 
b = Double.parseDouble(str2); 

Log.d(box1.getText().toString(),"TAG"); 
Intent intent1 = new Intent(this,Result.class); 
intent1.putExtra("first_number", a); 
intent1.putExtra("second number", b); 
startActivity(intent1); 

} 

public void multiplyNumbers(EditText box1,EditText box2){ 

double a,b; 

String str,str2 = new String();  
str = box1.getText().toString(); 
str2 = box2.getText().toString(); 
a = Double.parseDouble(str); 
b = Double.parseDouble(str2); 
Intent intent1 = new Intent(this,Result.class); 
intent1.putExtra("first_number", a); 
intent1.putExtra("second number", b); 
startActivity(intent1); 

} 

public void subtractNumbers(EditText box1,EditText box2){ 

double a,b; 

String str,str2 = new String();  
str = box1.getText().toString(); 
str2 = box2.getText().toString(); 
a = Double.parseDouble(str); 
b = Double.parseDouble(str2); 
Intent intent1 = new Intent(this,Result.class); 
intent1.putExtra("first_number", a); 
intent1.putExtra("second number", b); 
startActivity(intent1); 
} 

public void divideNumbers(EditText box1,EditText box2){ 

double a,b; 

String str,str2 = new String();  
str = box1.getText().toString(); 
str2 = box2.getText().toString(); 
a = Double.parseDouble(str); 
b = Double.parseDouble(str2); 
Intent intent1 = new Intent(this,Result.class); 
intent1.putExtra("first_number", a); 
intent1.putExtra("second number", b); 
startActivity(intent1); 
} 









} 


and the second activity is as follows:- 


package ajay.calculator; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.TextView; 
import android.support.v4.app.NavUtils; 

public class Result extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Intent intent1 = getIntent(); 
    double x = intent1.getDoubleExtra("first_number", 0.0); 
    double y = intent1.getDoubleExtra("second number", 0.0); 
    TextView tview = (TextView)findViewById(R.id.text1); 
    tview.setText("The result is " + x+y); 
    setContentView(tview); 

} 
} 

我的XML文件: -

1)主要

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<EditText 
    android:id="@+id/box_1" 
    android:hint="@string/enter_no" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="30dp" 
    android:ems="10" 
    android:inputType="numberDecimal" 
    > 


</EditText> 

<EditText 
    android:id="@+id/box_2" 
    android:hint="@string/enter_no" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/box_1" 
    android:layout_centerHorizontal="true" 
    android:ems="10" 
    android:inputType="numberDecimal" 

    /> 

<Button 
    android:id="@+id/button1" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/box_2" 
    android:layout_below="@+id/box_2" 
    android:layout_marginTop="47dp" 
    android:text="@string/func_add" 
    android:onClick="addNumbers" /> 

<Button 
    android:id="@+id/button2" 
    style="?android:attr/buttonStyleSmall" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBottom="@+id/button1" 
    android:layout_alignRight="@+id/box_2" 
    android:text="@string/func_mult" 
    android:onClick="multiplyNumbers" /> 

<Button 
    android:id="@+id/button3" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignRight="@+id/button1" 
    android:layout_below="@+id/button1" 
    android:layout_marginTop="56dp" 
    android:text="@string/func_divide" 
    android:onClick="divideNumbers" /> 

<Button 
    android:id="@+id/button4" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/button3" 
    android:layout_alignBottom="@+id/button3" 
    android:layout_alignRight="@+id/button2" 
    android:text="@string/func_subtract" 
    android:onClick="subtractNumbers"/> 

<TextView 
    android:id="@+id/text1" 
    android:hint="@string/result" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 


    /> 

</RelativeLayout> 

2)XML的第二個活動

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<TextView 
    android:id="@+id/text1" 
    android:layout_width="wrap_content" 

    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:text="@string/hello_world" 
    tools:context=".Result" /> 

</RelativeLayout> 
+2

你好嗎logcat的什麼錯誤的基礎知識? – 0gravity 2012-08-01 19:57:06

+1

只要您嘗試縮小問題範圍,請只發布*相關*代碼。另外檢查logcat你可能會得到錯誤。 – 2012-08-01 19:57:22

回答

0
  1. 按鈕可以傳遞參數給addNumbers因爲沒有'知道什麼pas秒。
  2. 首先你可以調用setConetView然後findViewById。

    TextView tview =(TextView)findViewById(R.id.text1); tview.setText(「結果是」+ x + y); setContentView(tview);

  3. 瞭解更多關於Android開發

+0

謝謝!它是我的第一個程序,所以你將不得不原諒那些小錯誤。 – user1569548 2012-08-04 06:34:22