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不支持多重继承。