按钮setonclicklistener错误

时间:2010-08-23 05:46:15

标签: android events button onclick

我现在遇到问题setOnClickListener

当我提出以下这一行时:

button.setOnClickListener(this);

然后运行应用程序然后它不会运行并显示“应用程序强制关闭”的消息。

你能帮我解决一下如何在Android 2.2中设置按钮onclick事件吗?

6 个答案:

答案 0 :(得分:7)

查看以下代码是否适合您......

button.setOnClickListener(new OnClickListener() {              
  @Override
  public void onClick(View v) 
  {
      Toast.makeText(getApplicationContext(), "Hello World", Toast.LENGTH_LONG).show();
  }    
});      

请务必在最后添加});

答案 1 :(得分:4)

用于在android中定义按钮点击事件, 您可以尝试以下代码:

public class Main_Activity extends Activity {


    private Button myButton;

    @Override
    public void onCreate(Bundle savedInstanceState) {


    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    myButton = (Button) findViewById(R.id.Button01);
    myButton.setOnClickListener(new Button_Clicker());
}

class Button_Clicker implements Button.OnClickListener
{
    @Override
    public void onClick(View v) {

       if(v==myButton)
       {
                Toast.makeText(v.getContext(), "Hello!! button Clicked", Toast.LENGTH_SHORT).show();

       }    
}
}

}

答案 2 :(得分:4)

另一个可能的原因(发生在我身上)是您的活动必须实施OnClickListener

public class MainActivity extends Activity implements OnClickListener ...

答案 3 :(得分:2)

虽然已经很长时间了,但是认为这可能对其他有这个问题的人有所帮助,但我花了很多时间才能做到这一点。但我认为最终解决了我的问题是将布局的xml中按钮的可点击属性设置为true 代码示例:

<Button android:text="Button" android:id="@+id/button1"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:clickable="true">
</Button>

此外,如果你看过DDMS透视图,你会发现错误的原因是NullPointerException,因为没有设置clickable,所以显示了哪个错误。如果我错了,请纠正我。

答案 4 :(得分:2)

键入View.onClickListener而不是Button on ClickListener

答案 5 :(得分:0)

检查类定义中是否有implements OnClickListener