【发布时间】:2016-05-14 18:20:40
【问题描述】:
我的界面是这样的
public interface AndroidStuff {
public void adShower();
public void shareActivity();
}
我需要给它一个 boolean watched 并且不对其进行初始化,然后在我实现此接口的主要 Android 类中修改该布尔值,以便我可以从我的非 Android 类中检查它是 false 还是 true(I' m 使用 LibGdx)。
这是AndroidApplication 类:
public class AndroidLauncher extends AndroidApplication implements AndroidStuff {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
initialize(new MyGdxGame(this), config);
HeyzapAds.start("1",this);
IncentivizedAd.fetch();
}
@Override
public void adShower() {
IncentivizedAd.display(this);
IncentivizedAd.fetch();
IncentivizedAd.setOnIncentiveResultListener(new HeyzapAds.OnIncentiveResultListener() {
@Override
public void onComplete(String tag) {
}
@Override
public void onIncomplete(String tag) {
}
});
}
@Override
public void shareActivity() {
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
如果onComplete 已被调用,我需要检查非 Android 类。
【问题讨论】:
-
所有接口变量都是public static和final。所以你不能改变它们。你需要的是一个抽象类
-
但是我不能实现抽象类?
-
你可以扩展一个抽象类。
-
是的,你不能实现那个类,你必须扩展那个类。你需要一些“特征”,比如行为抽象。但不幸的是,这在 Java 中不存在。
-
我已经扩展了 AndroidApplication 类,但我只需要检查是否观看了广告视频,我会更新问题。