2012-12-05 32 views
0

我正在使用libGDX。創建一個項目,並有兩個包appName,appName-android。我的代碼在appName,但MainActivity.java是在appName-android包。我在MainActivity中設置了admob advertise,但我不想讓它始終可見。從另一個包訪問您的主要活動

問題是,如何從另一個包中編輯adView.VISIBLE?或者可能嗎?我如何從一個類中訪問MainActivity.java(在appName-android包中)appName package?

在此先感謝。

+0

您應該發佈一些代碼,使這個問題更加清晰。你所描述的是一個糟糕的設計的標誌,但目前還沒有足夠的信息來解決問題。 – Egor

+0

但我看不到我應該發送哪些代碼。因爲問題不是「我錯在哪裏」。這是libGDX的標準構造。如果您使用gdx-setup-ui.jar創建項目,則會創建類似項目,project-android,project-desktop和project-html的包。您在項目中編寫代碼,併爲所有平臺創建應用程序。 –

回答

0

從平臺訪問平臺特定代碼(如Android adMob庫)的標準方式(在libGDX中)獨立的通用代碼是創建一個您的通用代碼可以使用的接口,並在該接口的實現中實現特定於平臺的位。

因此,創建public interface AdControlInterface包含像hideAds或任何你想要的方法。有APPNAME功能的Android包創建一個Android的具體實現的接口,並將其傳遞到APPNAME包(通過構造上ApplicationListener子你APPNAME包有)。

這裏有AdMob廣告在libGDX教程涵蓋這一問題(見IActivityRequestHandler接口)和一些其他的AdMob的整合問題:http://code.google.com/p/libgdx/wiki/AdMobInLibgdx

+0

我在看過本教程之前,但在回答之後,我仔細地看了一眼,是的,它顯示了(至少給出了啓發)關於解決方案的東西。謝謝。 –

0

當你使用這些工具時,不幸的是,你不能改變一些東西。

沒有辦法改變android處理訪問主包的方式。您可以創建靜態方法來訪問一些代碼而無需實例,但我真的認爲這不是一個好主意。

相關問題