Android按钮仅在第二次单击时起作用

我正在开发我的第一个Android Calculator应用程序。 我遇到了一个缺陷。 我添加了几个按钮,在单击这些按钮时,它会将相应的文本放在EditText字段上。 主要问题如下所述,在运行项目时,必须单击两次按钮以将相应的文本首次放在EditText字段上。 例如, Button1在点击时在EditText字段上放置’1’。 在运行时,首先单击该按钮不执行任何操作。 只有在第二次单击时,它才会在EditText字段上显示“1”。

该守则如下,

XML Button和EditField,

  

MainActivity.java

Button onClick的相应function,

 public void set1(View v){ final Button button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener(){ public void onClick(View v) { EditText tv = (EditText) findViewById(R.id.textView1); String text=tv.getText().toString(); tv.setText(text+"1"); } }); } 

更改set1()方法如下,

 public void set1(View v) { EditText tv = (EditText) findViewById(R.id.textView1); String text=tv.getText().toString(); tv.setText(text+"1"); } 

如果你在xml中调用onClick按钮的set1()方法,那么你不需要再次在该方法中找到按钮的ID。 所以简单地看起来像,

 public void set1(View v) { EditText tv = (EditText) findViewById(R.id.textView1); String text=tv.getText().toString(); tv.setText(text+"1"); } 

现在在你的xml for button中

 android:onClick="set1"