按钮onClick不会工作

时间:2013-12-05 00:43:41

标签: android eclipse

在一些教程之后我遇到了一个奇怪的错误...当我在我的设备上启动它时它会立即崩溃...为什么? 此外,我尝试了3种不同的方式来使用onClick ...这三个之间的区别是什么? (其他2个被注释掉)

<Button 
android:id="@+id/button_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="button1"
android:onClick="sendMessage" />





package com.example.a2;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
 android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity 
{

String CopyText;
String editText1;
String editText2;

final Button button1 = new Button(this);




public void sendMessage(View view) 
{
button1.setText(editText1); 
}


/*
Button button = (Button) findViewById(R.id.button1);

button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) 
{

}
});
/*

  /*
OnClickListener buttonListener = new View.OnClickListener() 
{

@Override
public void onClick(View v) 
{
    button1.setText(editText1);
}
};
*/



@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}




@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

2 个答案:

答案 0 :(得分:1)

试试这个..

执行初始化,然后点击onCreate

    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button button = (Button) findViewById(R.id.button_send);

        button.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) 
             {
                  Toast.makeText(getBaseContext(), "Cilcked", Toast.LENGTH_SHORT).show();
             }
        });

    }

编辑:

当活动开始时, onCreate()会被调用。它只在活动的生命周期中被调用一次。

如果您将应用程序的状态保存在一个包中(通常是onSaveInstanceState中的非持久性动态数据),如果需要重新创建活动(例如,方向更改),则可以将其传递回onCreate,这样您就可以不会丢失这些先前的信息。如果没有提供数据,savedInstanceState为空。

答案 1 :(得分:1)

首先: 解决方案,使按钮没有任何参考布局,并尝试更改它的测试

第二个: 布局中的按钮ID是button_send,您尝试使用button1

访问它

我认为第三个解决方案与第二个问题相关