2014-11-02 69 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