Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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
Java 将公共活动对象移动到一个类中_Java_Android_Class_Object_Android Activity - Fatal编程技术网

Java 将公共活动对象移动到一个类中

Java 将公共活动对象移动到一个类中,java,android,class,object,android-activity,Java,Android,Class,Object,Android Activity,我正在创建一个应用程序,从一页到另一页都有类似的功能 当应用程序加载时,它会显示一个屏幕,向用户显示选项,每个选项都会加载一个页面,其中包含要做的事情。所有页面看起来完全不同。其中很少有完全相同的,例如: 帮助 关 有没有更好的方法来实现这一点 这是我的密码: public class Settings extends Activity { Button ButtonHelp; TextView TextView; @Override public void

我正在创建一个应用程序,从一页到另一页都有类似的功能

当应用程序加载时,它会显示一个屏幕,向用户显示选项,每个选项都会加载一个页面,其中包含要做的事情。所有页面看起来完全不同。其中很少有完全相同的,例如:

帮助 关 有没有更好的方法来实现这一点

这是我的密码:

public class Settings extends Activity {

    Button ButtonHelp;
    TextView TextView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.LayoutHelp);

        ButtonHelp = (Button) findViewById(R.id.LayoutHelp);
        ButtonHelp.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });

        TextView = (TextView)findViewById(R.id.text_view_settings);
        TextView.setText(getString(R.string.txt_view_settings_message));

        // ...
    }

    // ...
}

public class Help extends Activity {

    Button HelpClose;
    TextView TextView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.help);

        HelpClose = (Button) findViewById(R.id.LayoutHelp);
        HelpClose.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });

        TextView = (TextView)findViewById(R.id.text_view_help);
        TextView.setText(getString(R.string.txt_view_help_message));

        // ...
    }

    // ...
}

正如您所建议的,对于非常相似的活动,您可以重用单个活动类,并抽象出不同的内容


如果行为相似,但不足以使用完全相同的类,请创建具有相似行为的基类,并将其子类化以提供差异。

在可以传递不同内容的地方使用片段。使用片段是实现所需内容的更好方法。有一个类,您希望在其中保存值,并在需要时将该对象传递给其他类。在您的项目中定义一个片段,用它自己的视图替换其他视图。@Mike2013有没有示例?我从不使用碎片。我可能会在晚上举个例子。。但与此同时,请浏览developers.android.com,寻找零碎的好答案,只要记住,如果项目变得更大,java不支持多重继承。