Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android—对于一些在许多活动中重复的java代码,应该使用什么方法_Java_Android - Fatal编程技术网

android—对于一些在许多活动中重复的java代码,应该使用什么方法

android—对于一些在许多活动中重复的java代码,应该使用什么方法,java,android,Java,Android,我有一个应用程序,它有一个顶部菜单,如下图所示。这几乎经常用于所有活动中。对于布局,我在一个xml文件中定义了它,并使用将其包含在每个布局文件中。我想知道java编码中是否有方法避免声明所有的ImageButton,然后在每个活动中为它们使用findViewById和onclick事件。前四个图标将用作菜单,在所有布局和活动中可用仅在第一个活动中写入。将其扩展到其他活动,而不是使用android.app.Activity进行扩展 例如: 只在第一个活动中写。将其扩展到其他活动,而不是使用andr

我有一个应用程序,它有一个顶部菜单,如下图所示。这几乎经常用于所有活动中。对于布局,我在一个xml文件中定义了它,并使用
将其包含在每个布局文件中。我想知道java编码中是否有方法避免声明所有的ImageButton,然后在每个活动中为它们使用
findViewById
onclick
事件。前四个图标将用作菜单,在所有布局和活动中可用

仅在第一个活动中写入。将其扩展到其他活动,而不是使用
android.app.Activity
进行扩展

例如:


只在第一个活动中写。将其扩展到其他活动,而不是使用
android.app.Activity
进行扩展

例如:


将该方法放在扩展应用程序的MyApplication类中。所以,它可以被多个活动访问。

将该方法放在MyApplication类中,该类扩展了应用程序。因此,它可以被多个活动访问。

首先,您试图实现的是违反android标准的,这可能会影响android用户的用户体验。而是在操作栏上添加菜单项


无论如何,您可以通过定义一个基类(将其命名为ActivityBase)并在其上执行所有初始化和侦听器注册来实现所需的功能。然后,从该基类扩展。请记住,每个活动都有其自己的基类视图实例,并且每个活动的状态都不同。

首先,您试图实现的是违反android标准的,这可能会影响android用户的用户体验。而是在操作栏上添加菜单项


无论如何,您可以通过定义一个基类(将其命名为ActivityBase)并在其上执行所有初始化和侦听器注册来实现所需的功能。然后,从该基类扩展。请记住,每个活动都有其自己的基类视图实例,并且每个活动的状态都不同。

尽管您接受了答案,但我不同意应用程序类应用于承载全局方法。它可以用来维护全局状态,但那是另一回事

正如其他人所说,通过创建基本活动类来使用继承,然后将其扩展到所有其他活动。但是,为了简化操作,您可以使用(例如)…定义布局文件本身中每个按钮使用的onClick方法

只要基本活动定义了一个名为myOnClickMethod的公共方法(或您选择的任何方法名称),该方法带有一个空返回,并且接受一个视图参数,它就可以工作,而无需实现View.OnClickListener,也无需在Java代码中设置侦听器。范例

public class MyBaseActivity extends Activity {

    public void myOnClickMethod(View v) {
        // Get the resource id of v and use switch / case to perform action needed
    }
}

这就是您所需要的。

尽管您已经接受了答案,但我不同意应用程序类应用于承载全局方法。它可以用来维护全局状态,但那是另一回事

正如其他人所说,通过创建基本活动类来使用继承,然后将其扩展到所有其他活动。但是,为了简化操作,您可以使用(例如)…定义布局文件本身中每个按钮使用的onClick方法

只要基本活动定义了一个名为myOnClickMethod的公共方法(或您选择的任何方法名称),该方法带有一个空返回,并且接受一个视图参数,它就可以工作,而无需实现View.OnClickListener,也无需在Java代码中设置侦听器。范例

public class MyBaseActivity extends Activity {

    public void myOnClickMethod(View v) {
        // Get the resource id of v and use switch / case to perform action needed
    }
}

这就是您所需要的。

使用继承。用通用代码定义一个基类并使您的所有活动扩展该类如何?您可以使用选项卡栏…使用继承。用通用代码定义一个基类并使您的所有活动扩展该类如何?您可以使用选项卡栏。。。
public class MyBaseActivity extends Activity {

    public void myOnClickMethod(View v) {
        // Get the resource id of v and use switch / case to perform action needed
    }
}