Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.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,所有代码都应该写在活动中吗_Android_Android Activity_Checkbox - Fatal编程技术网

Android,所有代码都应该写在活动中吗

Android,所有代码都应该写在活动中吗,android,android-activity,checkbox,Android,Android Activity,Checkbox,我对iOS开发比Android更熟悉,我想知道是否所有代码都应该在活动中编写,而不是使用“模型”类 我有两个屏幕,每个屏幕上都有一些复选框,我希望它们在单击时都表现相同,我正在试图弄清楚如何在每个活动中不重复编写代码。谢谢 不,你不应该。如果您熟悉java,可以将活动看作是添加了OO的main的扩展。 在您的特定示例中,您可以使用以下方法创建一个类: (查看){//your code here}。然后将其添加到XMLandroid:onClick=“”中的复选框中,您可能需要完整的包路径(例如c

我对iOS开发比Android更熟悉,我想知道是否所有代码都应该在活动中编写,而不是使用“模型”类


我有两个屏幕,每个屏幕上都有一些复选框,我希望它们在单击时都表现相同,我正在试图弄清楚如何在每个活动中不重复编写代码。谢谢

不,你不应该。如果您熟悉java,可以将活动看作是添加了OO的main的扩展。 在您的特定示例中,您可以使用以下方法创建一个类:
(查看){//your code here}
。然后将其添加到XML
android:onClick=“”
中的复选框中,您可能需要完整的包路径(例如com.example.app)


注意:如果您需要的某些命令/对象仅在活动中可用,则应在扩展活动的CALS中创建此命令/对象,或者最好在正在运行的活动中创建此命令/对象。

不应。如果您熟悉java,可以将活动看作是添加了OO的main的扩展。 在您的特定示例中,您可以使用以下方法创建一个类:
(查看){//your code here}
。然后将其添加到XML
android:onClick=“”
中的复选框中,您可能需要完整的包路径(例如com.example.app)


注意:如果您需要的某些命令/对象仅在活动中可用,则应在扩展活动的CALS中创建此命令/对象,或者最好在正在运行的活动中创建此命令/对象。

不应。如果您熟悉java,可以将活动看作是添加了OO的main的扩展。 在您的特定示例中,您可以使用以下方法创建一个类:
(查看){//your code here}
。然后将其添加到XML
android:onClick=“”
中的复选框中,您可能需要完整的包路径(例如com.example.app)


注意:如果您需要的某些命令/对象仅在活动中可用,则应在扩展活动的CALS中创建此命令/对象,或者最好在正在运行的活动中创建此命令/对象。

不应。如果您熟悉java,可以将活动看作是添加了OO的main的扩展。 在您的特定示例中,您可以使用以下方法创建一个类:
(查看){//your code here}
。然后将其添加到XML
android:onClick=“”
中的复选框中,您可能需要完整的包路径(例如com.example.app)


注意:如果您需要的某些命令/对象仅在活动中可用,则应在扩展活动的calss中创建此命令/对象,或者最好在正在运行的活动中创建此命令/对象。

您可以拥有一个扩展活动的基类,该活动包含要在单击时执行的方法(实现的或抽象的)。创建新活动时,请使用此新基类而不是活动。在布局xml中,可以将每个复选框的onclick设置为要执行的基本活动中的方法。

可以有一个扩展活动的基类,该活动包含要在单击时执行的方法(实现的或抽象的)。创建新活动时,请使用此新基类而不是活动。在布局xml中,可以将每个复选框的onclick设置为要执行的基本活动中的方法。

可以有一个扩展活动的基类,该活动包含要在单击时执行的方法(实现的或抽象的)。创建新活动时,请使用此新基类而不是活动。在布局xml中,可以将每个复选框的onclick设置为要执行的基本活动中的方法。

可以有一个扩展活动的基类,该活动包含要在单击时执行的方法(实现的或抽象的)。创建新活动时,请使用此新基类而不是活动。在布局xml中,您可以将每个复选框的onclick设置为要执行的基本活动中的方法。

最佳做法是使用单个活动并切换片段,就像它们是您的屏幕一样。然后,活动可以简单地实现片段将重用的侦听器接口


因为你有多个活动,这就变得有点难了。要真正重复使用单个侦听器,我可以考虑一个(不太漂亮的)选项。创建静态侦听器并延迟加载它:

public class MainActivity extends Activity {

    private static View.OnClickListener sCheckboxClickListener;

    public static View.OnClickListener getCheckboxClickListener() {
        if (sCheckboxClickListener == null) {
            sCheckboxClickListener = new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Work with v
                }
            };
        }
        return sCheckboxClickListener;
    }

}
在您的每项活动中,请致电:

findViewById(R.id.checkbox1)
            .setOnClickListener(MainActivity.getCheckboxClickListener());

最佳实践是使用单个活动并切换片段,就像它们是您的屏幕一样。然后,活动可以简单地实现片段将重用的侦听器接口


因为你有多个活动,这就变得有点难了。要真正重复使用单个侦听器,我可以考虑一个(不太漂亮的)选项。创建静态侦听器并延迟加载它:

public class MainActivity extends Activity {

    private static View.OnClickListener sCheckboxClickListener;

    public static View.OnClickListener getCheckboxClickListener() {
        if (sCheckboxClickListener == null) {
            sCheckboxClickListener = new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Work with v
                }
            };
        }
        return sCheckboxClickListener;
    }

}
在您的每项活动中,请致电:

findViewById(R.id.checkbox1)
            .setOnClickListener(MainActivity.getCheckboxClickListener());

最佳实践是使用单个活动并切换片段,就像它们是您的屏幕一样。然后,活动可以简单地实现片段将重用的侦听器接口


因为你有多个活动,这就变得有点难了。要真正重复使用单个侦听器,我可以考虑一个(不太漂亮的)选项。创建静态侦听器并延迟加载它:

public class MainActivity extends Activity {

    private static View.OnClickListener sCheckboxClickListener;

    public static View.OnClickListener getCheckboxClickListener() {
        if (sCheckboxClickListener == null) {
            sCheckboxClickListener = new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Work with v
                }
            };
        }
        return sCheckboxClickListener;
    }

}
在您的每项活动中,请致电:

findViewById(R.id.checkbox1)
            .setOnClickListener(MainActivity.getCheckboxClickListener());

最佳实践是使用单个活动并切换片段,就像它们是您的屏幕一样。然后,活动可以简单地实现片段将重用的侦听器接口


因为你有多个活动,这就变得有点难了。要真正重复使用单个侦听器,我可以考虑一个(不太漂亮的)选项。创建静态侦听器并延迟加载它:

public class MainActivity extends Activity {

    private static View.OnClickListener sCheckboxClickListener;

    public static View.OnClickListener getCheckboxClickListener() {
        if (sCheckboxClickListener == null) {
            sCheckboxClickListener = new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    // Work with v
                }
            };
        }
        return sCheckboxClickListener;
    }

}
在您的每项活动中,请致电:

findViewById(R.id.checkbox1)
            .setOnClickListener(MainActivity.getCheckboxClickListener());

可能是某个自定义父活动的子类?你在说什么屏幕?碎片或分离ac