2015-06-21 111 views
-1

我正在开发一款Android calculter,我想添加的用户点击数量,当他点击了按钮 我添加的onclick这样设置内容

android:onClick="number(1)" 

括号内的数字是我希望它的的EditText 和主要活动的代码,并在函数内部被追加数是

public void number(int medo){ 
    EditText result = (EditText) findViewById(R.id.result); 
    result.setText(result.getText() + " " + medo); 
} 

但是当我点击任何按钮,测试它崩溃了,可能会有人告诉我如何解决应用程序这但是fas t请

+0

发布您的logcat –

回答

1

您的方法需要有一个View参数,其中将包含您单击的按钮。

所以,你的代码看起来是这样的:

public void number(View v) { 
    EditText result = (EditText) findViewById(R.id.result); 
    // get the text from the button that was clicked and add it to the EditText 
    result.setText(result.getText() + " " + ((Button)v).getText().toString()); 
} 

您不能设置在XML的说法。它应该看起来像这样:

android:onClick="number" 
+0

可能请您添加注释来解释这个原因我是新来的Java编程 –

0

另外我想你必须调用toString。

result.getText().toString() 
0

onCLick应该是一个有view参数的方法。 这个View代表视图(在这种情况下为Button)被点击。

你的方法应该是这样的:

public void number(View view) 

解决你的问题,我会建议把android:tag在XML。 为Button你表现出你会做什么:

android:tag="1" 
android:onClick="number" 

,并在number功能,你会做这样的事情:

public void number(View view) 
{ 
    result.setText(result.getText() + " " + view.getTag().toString); 
} 

此外,我会强烈建议做result到一个全局变量并初始化它在onCreate()而不是,它会使代码更好,更高效