【问题标题】:Android Button Details [closed]Android按钮详细信息[关闭]
【发布时间】:2013-02-22 11:24:09
【问题描述】:

为什么我们在setOnClickListener 方法中传递这些参数?

请详细解释一下?

Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
     public void onClick(View v) {
          // Do something in response to button click
     }
});    

【问题讨论】:

  • 为什么是因为 API 需要这些参数。您可以查看文档。详细解释
  • 你知道callBack接口的实现概念吗?检查this

标签: java android button


【解决方案1】:

button.setOnClickListener 它实际上是在创建一个匿名内部类,它实现了OnClickListener. 匿名类是使用 new 运算符在单个简洁表达式中定义和实例化的。它用于创建简单的委托回调对象。这些匿名内部类可以访问封闭外部类的静态变量和实例变量。

更多详情请查看link

【讨论】:

  • 为什么我们将视图对象传递给 onCLick 方法?
【解决方案2】:

其实这些都不是参数,如果你熟悉Java,你可能听说过Anonymous Inner Classes。因此,您只需实现onClickListener,即可实现您所需要的。

在您的代码中将此作为参数button.setOnClickListener(this); 传递并执行Override onClick 方法。

【讨论】:

  • 为什么这些不是参数?
  • 那些是匿名内部类实现@blackbelt
  • 所以不能将类作为参数传递给方法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
相关资源
最近更新 更多