我正在尝试做一个简单的2位数乘法屏幕,我无法让它真正显示答案。我知道它可能是一些小而愚蠢的东西。而且由于我对EditText / TextView的使用感到困惑,如果它与那些东西有关,我也不会感到惊讶。以下是我到目前为止的情况:
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 :(得分: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));
}
}