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

Kan*_*van 2 java android button

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

该守则如下,

XML Button和EditField,

<EditText
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:ellipsize="end"
        android:ems="10"
        android:gravity="right"
        android:hint="@string/textView1" />
 <Button
        android:id="@+id/button1"        
        android:layout_width="60dp"       
        android:layout_height="60dp"
        android:hint="@string/button1"
        android:onClick="set1" />
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

Button onClick的相应功能,

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");
            }
    });

}
Run Code Online (Sandbox Code Playgroud)

Luc*_*fer 7

更改set1()方法如下,

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