多个活动使用相同的按钮

| 正确,我在每个活动的确切位置都有一个登录按钮,目前我可以进行20项活动,但是很快就会上升很多,我真的不希望在其中复制和粘贴相同的代码对于每个活动,因此我正在寻找一种简单有效的解决方案来处理onClick事件,该事件将在整个应用程序中全局运行。 例如,如果用户A在活动1上单击登录按钮并登录,它将显示他已在活动2和3等上登录,依此类推..直到注销。 整个应用程序中的登录按钮具有相同的ID,即\“ @ + id / signIn \” 在每个活动开始时调用单个函数会更容易吗?我以为那不是每个处理能力的有效利用吗?! 任何建议和/或指导将不胜感激。谢谢 :)     
已邀请:
您无法避免以任何一种方式在所有活动中实现该侦听器。但是,您可以采用更有条理的方式进行操作: 您可以为应用程序编写自定义标题布局(layout0 header),在其中具有设置了单击侦听器的\“ Sign In \”按钮(指向ing1ѭ方法):
android:onClick=\"onSignInClicked\"
然后,将此标题包含在每个活动布局中:
<include android:id=\"@+id/header\" layout=\"@layout/header\" />
您还可以创建一个包含
onSignInClicked
方法声明的接口,并通过实现该接口的所有活动来强制它们定义
onSignInClicked
方法的主体。 您在那实际所做的也可以包装成 全局内部的静态方法 无障碍课程,或 内部参数化的方法 您的
Application
扩展类。 因此,在您的所有活动中,此方法可以是:
public static void onSignInClicked(View view)
{
    // static method with call with reference to the current activity
    SignInHelper.doSignIn(this);
}
要么
public static void onSignInClicked(View view)
{
    // global method in your `Application` extension
    // with reference to the current activity
    ((MyApplication)getApplicationContext()).doSignIn(this);
}
如果您选择第二种方法,请不要忘记通过设置
application
标签的
name
属性来更新
androidManifes.xml
<application android:name=\".MyApplication\" [...]
    
您可以将按钮创建为自定义视图。     

要回复问题请先登录注册