我正在尝试创建一组可供我的应用程序中的不同活动使用的方法。所以我决定将这些方法放入类Util.java
中,如下所示:
class Util{
MainActivity activity;
//constructor
public Util(MainActivity activity){
this.activity=activity;
}
//other methods are here
}
现在,从Util
创建MainActivity
的实例时,上面的代码运行正常。如果我想创建Util
的另一个活动的实例,请说NewActivity
我必须添加一个接受NewActivity
作为参数的新构造函数。
问题: 有没有办法可以避免Util类中的多个构造函数,如下所示?
class Util{
Activity activity; //can hold instance of any activity
//constructor
public Util(activity activity){
this.activity=activity;
}
//other methods are here
}
如果我想访问当前活动的ActionBar,上面的代码没有用,如下所示。
activity.getSupportActionBar() //would throw an error
简而言之,我要做的是创建一个变量activity
,它可以保存任何活动(MainActivity
或NewActivity
)并让我完全访问其成员当前分配的活动。
答案 0 :(得分:0)
您可以使用泛型
public class Util<E extends Activity> {
E activity;
public void doSomething(E activity) {
}
}
像这样访问:
Util<MainActivity> util = new Util<>();
util.doSomething(MainActivity.this);