由于java中不允许创建接口。 通过按钮事件创建代码,我通过了这个:
View. OnClickListener ocl=new View. OnClickListener ();
根据Android文档onClickListener是一个接口,那么我们如何创建它的对象。不允许对象创建对象,但关键字new显然可以做到这一点。这怎么可能? 请原谅任何错误,我是Android开发的新手。
答案 0 :(得分:1)
简单来说......
您创建的实例是anonymous
类,在括号中实现View.OnClickListener
。
答案 1 :(得分:0)
你没有。该系统。您只需提供界面的实现。
答案 2 :(得分:0)
如果您想编写一个public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "DefaultLocalized",
url: "{language}/{controller}/{action}/{id}",
defaults: new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional,
language = "en-US"
}
);
}
用于多个视图的点击事件,请尝试以下操作:
ClickListener
现在,您可以将 View.OnClickListener onClick = new View.OnClickListener() {
@Override
public void onClick(View view) {
// write your code here
}
};
设置为您的视图onClick
:
ClickListener
答案 3 :(得分:0)
每当需要接口时,您需要提供此接口的实现。这意味着需要接口的类不关心实现的类,它只关心知道它可以使用以特定方式接收的实例,并且实例可以实现通过其实现所要求的内容。 / p>
然后你有两个选项,它们创建一个实现View.OnClickListener接口的类或实例化一个匿名类。
选项1:
public class ClickListenerImpl implements View.OnClickListener
{
@Override
public void onClick(View view) { /* logic */ }
}
然后
View.OnClickListener ocl = new ClickListenerImpl();
选项2:
View.OnClickListener ocl = new View.OnClickListener()
{
@Override
public void onClick(View view) { /* logic */ }
};