2014-11-02 83 views
-3

我正在學習android編程,我只是不知道如何把我的xml變成一個工作的計算器。創建一個計算器Android應用

這裏是我的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" 
tools:context="com.afm.calculator.MainActivity" > 

<TextView 
    android:id="@+id/tvresult" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="" 
    android:textSize="40dp" /> 

<Button 
    android:id="@+id/times" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="x" 
    android:textSize="40sp" /> 

<Button 
    android:id="@+id/plus" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="+" 
    android:textSize="40dp" /> 

<Button 
    android:id="@+id/divide" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="÷" 
    android:textSize="40sp" /> 

<Button 
    android:id="@+id/mines" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="-" 
    android:textSize="40sp" /> 

<Button 
    android:id="@+id/equal" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="=" 
    android:textSize="40sp" /> 

<EditText 
    android:id="@+id/editText1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:inputType="numberDecimal" > 

</EditText> 

<EditText 
    android:id="@+id/editText2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:inputType="numberDecimal" /> 

</RelativeLayout> 

這裏是我的java:

package com.afm.cal; 
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 MainActivity extends Activity implements android.view.View.OnClickListener { 

Button mines, plus, divide, times, equal; 
EditText eto, ett; 
TextView tv; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mines = (Button) findViewById(R.id.mines); 
    plus = (Button) findViewById(R.id.plus); 
    divide = (Button) findViewById(R.id.divide); 
    times = (Button) findViewById(R.id.times); 
    equal = (Button) findViewById(R.id.equal); 
    eto = (EditText) findViewById(R.id.editText1); 
    ett = (EditText) findViewById(R.id.editText2); 
    tv = (TextView) findViewById(R.id.tvresult); 



} 


public void onClick(View arg0) { 

} 

} 

請幫我完成它和THX提前

回答

1

首先添加監聽器使用setOnClickListener方法所有的按鈕。

如:plus.setOnClickListener(this);

讓你onClick方法類似下面的修改。

public void onClick(View view) {   

    if (view == mines) { 
     // do the calculation here 
     //update the TextView using tv.setText() 
    } else if (view == plus) { 
     // do the calculation here 
     //update the TextView 
    } 
    //.. So on for all buttons 

} 
+0

thx這真的很有幫助 – user3560264 2014-11-02 14:04:30

1

分配給每個按鈕在xml中使用Button的屬性的方法。

例如android:onClick="doSomething"。單擊該按鈕時將調用doSomething()方法。

你的方法應該從TextField小號獲得價值,做裏面的操作這些methods.Then結果顯示在TextView