gpt4 book ai didi

java - 在所有 Activity android中导入常用功能

转载 作者:行者123 更新时间:2023-11-29 07:53:35 25 4
gpt4 key购买 nike

我正在开发一个顶部有菜单的 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);
}
});

enter image description here

最佳答案

I have to repeat the code for these in all activities.

Java 不支持多重继承。

不要仅仅为了代码重用而使用继承。如果没有 is a 关系,则使用组合进行代码重用。如果修改了父类(super class),过度使用实现继承(又名 extends)可能会破坏所有子类。

enter image description here

在你的情况下,我会使用组合。只需创建实现上述监听器逻辑的新类。

关于java - 在所有 Activity android中导入常用功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19443371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com