繁体   English   中英

View的android:onClick作为静态方法,可能吗?

[英]View's android:onClick as static method, possible?

如文档所述

单击该视图时在此View上下文中调用的方法的名称。

完美,但是创建静态方法并在我需要的任何地方使用它,而不是在每个Activity类中进行定义,是否“有可能”进行。 是的,我知道在基本Activity类中定义方法。 我要寻找的只是写方法的全名,然后让它使用它。 有可能吗

谢谢

您不能将静态方法分配给onClick xml属性。 您必须将在此指定的方法添加到消耗布局的任何活动中。 您可以在每个活动中使该方法调用一个实际处理点击的静态方法,但是无法避免完全使用实例方法。

这是不可能的。 Android在活动实例中搜索此方法。 这就是为什么它必须属于一个实例的原因。

我的建议是创建一个处理按钮所具有的所有功能的类,并在Activity的onClick方法上调用该功能。

public class AppModel {

    public static void button1Function(){
        //do something
    }
}

然后在你的活动上

 public void button1Clicked(View view){
     AppModel.button1Function();
 }

我认为这看起来像MVC设计范例。 点击这里进一步阅读。

为什么不创建一个具有静态方法的全新类?

您可以在任何地方加载该类,然后...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM