我现在遇到问题setOnClickListener
。
当我提出以下这一行时:
button.setOnClickListener(this);
然后运行应用程序然后它不会运行并显示“应用程序强制关闭”的消息。
你能帮我解决一下如何在Android 2.2中设置按钮onclick事件吗?
答案 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