2011-05-14 68 views
0

我正在尝试做一个简单的2位乘法屏幕,而且我无法实际显示答案。我知道它可能是小而愚蠢的东西。而且由于我对EditText/TextView的用法感到困惑,如果它与这些东西有关,我不会感到惊讶。以下是我迄今为止:2位数的计算结果不会显示答案

import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Button; 
import android.os.Bundle; 
import android.view.View; 

public class Multiply extends Index 

{ 

    private EditText amount1; 
    private EditText amount2; 
    private TextView answer; 
    private Button calculate; 
    private double x=0; 
    private double y=0; 
    private double z=0; 
/** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.calc); 
     initControls(); 
    } 

    public void initControls() 
    { 
      amount1=(EditText)findViewById(R.id.amount1); 
      amount2=(EditText)findViewById(R.id.amount2); 
      answer=(TextView)findViewById(R.id.answer); 
      calculate=(Button)findViewById(R.id.calculate); 
      calculate.setOnClickListener(new Button.OnClickListener() 
      { 
       public void onClick(View v) 
       { 
        calculate(); 
       } 
      } 
     ); 
    } 
    private void calculate() 
    { 
      x=Double.parseDouble(amount1.getText().toString()); 
      y=Double.parseDouble(amount2.getText().toString()); 
      z= x*y; 
      answer.setText(Double.toString(z)); 

    } 
} 

的XML文件的“肉”陪这个样子:

<EditText 
     android:id="@+id/amount1" 
     android:layout_height="wrap_content" 
     android:layout_width="50dip"> 
    </EditText> 

    <EditText 
     android:id="@+id/amount2" 
     android:layout_height="wrap_content" 
     android:layout_width="50dip"> 
    </EditText> 

    <Button 
     android:id="@+id/calculate" 
     android:text="CALCULATE" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 
    </Button> 

    <TextView 
     android:id="@+id/answer" 
     android:layout_height="wrap_content" 
     android:layout_width="50dip"> 
    </TextView> 
+0

“public class Multiply extends Ind前“ - 什么是'指数'类? – Squonk 2011-05-14 02:38:24

+0

你知道z的值是否正确,你有没有尝试在控制台中打印这个值? – 2011-05-14 03:13:10

+0

@MisterSquonk索引是我的主要类,它调用我所有的布局。这个乘法类页面只是应用中许多页面中的一个。 – Xarddrax 2011-05-14 03:39:29

回答

0

你的代码是完全正常的,它是工作

只是改变扩展指数扩展活动

package com.test; 

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 Multiply extends Activity 

{ 

private EditText amount1; 
private EditText amount2; 
private TextView answer; 
private Button calculate; 
private double x=0; 
private double y=0; 
private double z=0; 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    initControls(); 
} 

public void initControls() 
{ 
     amount1=(EditText)findViewById(R.id.amount1); 
     amount2=(EditText)findViewById(R.id.amount2); 
     answer=(TextView)findViewById(R.id.answer); 
     calculate=(Button)findViewById(R.id.calculate); 
     calculate.setOnClickListener(new Button.OnClickListener() 
     { 
      public void onClick(View v) 
      { 
       calculate(); 
      } 
     } 
    ); 
} 
private void calculate() 
{ 
     x=Double.parseDouble(amount1.getText().toString()); 
     y=Double.parseDouble(amount2.getText().toString()); 
     z= x*y; 
     answer.setText(Double.toString(z)); 

} 
} 
+0

@Jaydeep和Dharmendra非常感谢您的意见。我改变了“扩展”,但它仍然没有工作。我发现我的问题是我没有正确引用这些方法所在的类。我所做的只是用文本框显示XML文件。所以,现在我必须弄清楚为什么当我试图从另一个类中调用这个类时我会崩溃。再次感谢! – Xarddrax 2011-05-14 15:39:58

+0

嗨@Xarddrax我已经尝试并运行它。它工作正常 – Dharmendra 2011-05-16 03:47:52