我正在开发一个顶部有菜单的 Android 应用程序(就像我们在网站上有的;主页、关于我们等)。此菜单在所有 Activity 中重复出现,因此我必须在所有 Activity 中重复这些代码。有没有一种方法可以让我在某个类中编写一次代码,然后在所有其他使用继承或其他 Activity 的 Activity 中重用它? (只是虱子在 php 中有 include 函数)。希望我的问题是直截了当的。这是我必须在所有地方重复的菜单代码。
// menu items
menu_home.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(CurrentActivity.this, HomeActivity.class);
startActivity(i);
}
});
menu_help.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(CurrentActivity.this, HelpActivity.class);
startActivity(i);
}
});
menu_media.setOnClickListener(new OnClickListener() {;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(CurrentActivity.this, MediaActivity.class);
startActivity(i);
}
});
menu_index.setOnClickListener(new OnClickListener() {;
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(HomeActivity.this, IndexActivity.class);
startActivity(i);
}
});
最佳答案
I have to repeat the code for these in all activities.
Java 不支持多重继承。
不要仅仅为了代码重用而使用继承。如果没有 is a 关系,则使用组合进行代码重用。如果修改了父类(super class),过度使用实现继承(又名 extends
)可能会破坏所有子类。
在你的情况下,我会使用组合。只需创建实现上述监听器逻辑的新类。
关于java - 在所有 Activity android中导入常用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19443371/