我是android的新手,我试图实现自己的代码。 没有错误,但应用程序无法正常工作.. 这是我的代码......
public class MainActivity extends ActionBarActivity implements OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b0 = (Button) findViewById(R.id.button0);
b0.setOnClickListener(this);
Button b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(this);
Button b2 = (Button) findViewById(R.id.button2);
b2.setOnClickListener(this);
Button b3 = (Button) findViewById(R.id.button3);
b3.setOnClickListener(this);
Button b4 = (Button) findViewById(R.id.button4);
b4.setOnClickListener(this);
Button b5 = (Button) findViewById(R.id.button5);
b5.setOnClickListener(this);
Button b6 = (Button) findViewById(R.id.button6);
b6.setOnClickListener(this);
Button b7 = (Button) findViewById(R.id.button7);
b7.setOnClickListener(this);
Button b8 = (Button) findViewById(R.id.button8);
b8.setOnClickListener(this);
Button b9 = (Button) findViewById(R.id.button9);
b9.setOnClickListener(this);
Button bplus = (Button) findViewById(R.id.button12);
bplus.setOnClickListener(this);
Button bminus = (Button) findViewById(R.id.button13);
bminus.setOnClickListener(this);
Button bmul = (Button) findViewById(R.id.button14);
bmul.setOnClickListener(this);
Button bdiv = (Button) findViewById(R.id.button15);
bdiv.setOnClickListener(this);
Button bequ = (Button) findViewById(R.id.button11);
bequ.setOnClickListener(this);
}
@Override
public void onClick(View v) {
EditText ed = (EditText) findViewById(R.id.editText1);
if (v.getId() == R.id.button0) {
ed.append("0");
calc(0, v, ed);
}
if (v.getId() == R.id.button1) {
ed.append("1");
}
if (v.getId() == R.id.button2) {
ed.append("2");
}
if (v.getId() == R.id.button3) {
ed.append("3");
}
if (v.getId() == R.id.button4) {
ed.append("4");
}
if (v.getId() == R.id.button5) {
ed.append("5");
}
if (v.getId() == R.id.button6) {
ed.append("6");
}
if (v.getId() == R.id.button7) {
ed.append("7");
}
if (v.getId() == R.id.button8) {
ed.append("8");
}
if (v.getId() == R.id.button9) {
ed.append("9");
}
}
public void harsha(View v1) {
if (v1.getId() == R.id.imageButton1) {
Toast obj = Toast.makeText(this, "Hey Don't touch me",
Toast.LENGTH_SHORT);
obj.show();
}
}
private void calc(int x, View Y, EditText ed1) {
if (Y.getId() == R.id.button12) {
ed1.setText("");
int d = Integer.parseInt(ed1.getText().toString());
ed1.setText("");
int h = x + d;
ed1.setText(h);
}
}
}
答案 0 :(得分:1)
嗯,它不起作用,因为你没有执行任何东西。
在onClick(查看v):
if (v.getId() == R.id.button0) {
ed.append("0");
calc(0, v, ed);
}
只有在视图的ID为' button0'
的ID时才会发生这种情况现在,当您查看calc(int x,View Y,EditText ed1)时:
if (Y.getId() == R.id.button12) {
ed1.setText("");
int d = Integer.parseInt(ed1.getText().toString());
ed1.setText("");
int h = x + d;
ed1.setText(h);
}
只有在视图的ID为' button12'
的ID时才会发生这种情况我不确定你想要它做什么,但如果你想要执行代码只是改变:
if (Y.getId() == R.id.button12)
到
if (Y.getId() == R.id.button0)
答案 1 :(得分:0)
我不清楚您的计算问题,但您可以试试这个,如果您的问题没有显示结果:
private void calc(int x, View Y, EditText ed1) {
if (Y.getId() == R.id.button12) {
ed1.setText("");
int d = Integer.parseInt(ed1.getText().toString());
ed1.setText("");// It is useless duplicate of line
int h = x + d;
ed1.setText(""+h); //It is easiest way to parse int to a string
}
}