У меня есть SurfaceView и AdView, я обратил AdView так:Скрытие и показ AdView
g=new GameView(this);
setContentView(R.layout.activity_game);
RelativeLayout layout = (RelativeLayout)findViewById(R.id.vMain);
layout.addView(g);
mAdView = new AdView(this);
mAdView.setAdSize(AdSize.BANNER);
mAdView.setAdUnitId(myId);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
if(mAdView.getAdSize() != null || mAdView.getAdUnitId() != null)
mAdView.loadAd(adRequest);
((RelativeLayout)findViewById(R.id.vMain)).addView(mAdView );
mAdView.bringToFront();
mAdView.setVisibility(View.GONE);
На вершине SurfaceView, и скрыть его. Теперь я хочу показать его, назвав его с поверхности, возможно ли это? Я попытался создать эту функцию: «. Только оригинальный поток, созданный вид может коснуться его мнения».
public void hide(){
mAdView.setVisibility(View.GONE);
}
public void show(){
mAdView.setVisibility(View.VISIBLE);
}
и вызывать его из SurfaceView, но это дало мне исключение Что делать
Подождите, но не вызовет ли он набор видимых или ушел бесконечно, потому что его можно запустить? – SpoocyCrep
№ http://developer.android.com/reference/android/app/Activity.html#runOnUiThread(java.lang.Runnable) –
Btw, Runnable - это просто команда, которая должна выполняться и часто запускается в отдельном потоке , Это не бесконечно. –