【问题标题】:Button setonclicklistener error按钮 setonclicklistener 错误
【发布时间】:2011-04-02 11:32:24
【问题描述】:

我现在遇到setOnClickListener 的问题。

当我把下面这行:

button.setOnClickListener(this);

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

您能帮我在 Android 2.2 中设置按钮 onclick 事件吗?

【问题讨论】:

  • 请分享代码和错误日志:)

标签: android events button onclick


【解决方案1】:

看看下面的代码是否适合你...

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

记得在最后加上});

【讨论】:

  • 非常感谢您的回答。我得到了解决方案。实际上,我将按钮 onclicklistener 的代码放在启动画面编码页面中。谢谢
【解决方案2】:

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

public class MainActivity extends Activity implements OnClickListener ...

【讨论】:

    【解决方案3】:

    在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();
    
           }    
    }
    }
    

    }

    【讨论】:

      【解决方案4】:

      虽然已经很长时间了,但认为它可能会帮助其他遇到此问题的人,但我花了很多时间才把它弄好。但我认为最终解决我的问题是将布局 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,因为未设置可点击,所以它当然会显示。如果我错了,请纠正我。

      【讨论】:

      • 我想更正自己。我不认为以上是正确的解决方案。如果有人收到 NullPointerException,即使按钮已使用 findViewById 正确分配,即 Button button = (Button)findViewById(R.id.somebutton); ,那么我建议清理当前构建和重建。这发生在我身上好几次了。
      【解决方案5】:

      键入View.onClickListener 而不是Button on ClickListener

      【讨论】:

        【解决方案6】:

        检查类定义中是否有implements OnClickListener

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多