2016-03-15 66 views
0

我有2個活動「MainActivity」和「MainActivity2」。一個Admob-Banner顯示在底部的兩個活動中。從單獨的活動調用視圖

我的問題:我想通過按MainActivity中的按鈕禁用兩個橫幅。但是,由於我對android和開發人員都很陌生,所以缺乏經驗。我搜索互聯網,但找不到我的問題的有效答案。

我的問題:有沒有辦法將我的方法中單獨的活動中的兩個Ad-id鏈接起來,以及最好的方法是什麼?

這是迄今爲止我從MainActivity調用方法:

private void hide() { 

    //This is the Ad from MainActivity 
    final AdView adLayout = (AdView) findViewById(R.id.adView); 

    final Button disableAds = (Button) findViewById(R.id.disableAds); 

    runOnUiThread(new Runnable() { 
     @Override 
     public void run() { 
      adLayout.setEnabled(false); 
      adLayout.setVisibility(View.GONE); 

      disableAds.setEnabled(false); 
      disableAds.setVisibility(View.GONE); 
     } 
    }); 
} 
+0

實際上你想要做什麼? –

+0

我想通過在我的MainActivity中只使用一種方法來禁用這兩種活動中的AdView – Niclas

+0

您是否從「MainActivity」調用「MainActivity2」? –

回答

0

每當您按下禁用按鈕時,都會執行一項操作,將共享首選項中的狀態保存起來。在每一個activity的onStart()方法中檢查值的狀態。根據該值在您的活動中顯示/隱藏廣告橫幅。

String MyPREFERENCES = "myPrefs" ; 
SharedPreferences sharedpreferences; 
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 

當您單擊按鈕

Editor editor = sharedpreferences.edit(); 
        editor.putString("show_ads", "no"); 
        editor.commit(); 

然後在onStart()方法得到「show_ads」的基礎上,值顯示的值/隱藏廣告設置的值。

sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 
     String name=sharedpreferences.getString("show_ads", "yes"); 
    if(name.equals("yes")){ 
     adLayout.setEnabled(true); 
     adLayout.setVisibility(View.VISIBLE); 

     disableAds.setEnabled(true); 
     disableAds.setVisibility(View.VISIBLE); 
     }else{ 
     adLayout.setEnabled(false); 
     adLayout.setVisibility(View.GONE); 

     disableAds.setEnabled(false); 
     disableAds.setVisibility(View.GONE); 
    } 
0

如果您正在通話中 「MainActivity2」,從 「MainActivity」:

//Code in "MainActivity" while starting "MainActivity2": 
Intent intent = new Intent(MainActivity.this, MainActivity2.class); 
intent.putExtra("isAdDisabled", true);// pass true if ad is disabled otherwise false 
startActivity(intent); 

//Code in onCreate of "MainActivity2": 
Intent intent = getIntent(); 
boolean isAdDisabled = intent.getBooleanExtra("isAdDisabled", false); 

if(isAdDisabled){ 
    // code to hide adview 
} 
0

使用共享的喜好來存儲一個布爾值( isAdsDisabled)在您點擊一個按鈕時的主要活動中。

Editor editor = context.getSharedPreferences("ADS_PREF", Context.MODE_PRIVATE).edit(); 
editor.putBoolean(ADS_DIABLED, isAdsDisabled); 

當您想在第二個活動中顯示廣告以決定是否顯示廣告時,您可以再次查詢。

您可以通過使用

SharedPreferences preferences = context.getSharedPreferences("ADS_PREF", Context.MODE_PRIVATE); 
boolean isAdsDisabled = preferences.getBoolean(ADS_DIABLED, false); 

可以檢查isAdsDisabled的值來決定它做到這一點。