私は初心者です。初めての Android アプリケーションを準備していますが、機能を組み合わせるのに問題があります。
4 つのタブ ( ) を持つアプリケーションがありTabActivity
、2 つ (1 番目と 4 番目) は静的ですが、2 番目は電話の前面カメラ (鏡のようなもの) で、3 番目はマーカー付きの Google Maps API v2 である必要があります。すべてが正常に機能しますが、2 つ目のタブでミラーを選択し、3 つ目のタブで Google マップを選択すると、エラーが発生します。地図が表示されません。同じ問題は、アプリケーションを閉じて再試行するときですが、最初に Google マップで 3 番目のタブを開き (正常に動作します)、次にミラーで 2 番目のタブをタップしても何も変わりません。まだマップが表示されます (ただし、ズームできません)。それなど)。
私は、何かが必要です。別のタブをタップすると、ミラーが強制終了されます (おそらくマップも)。しかし、どうすればよいかわかりません。たぶん何かsurfaceDestroyed()
?
MainActivity は次のとおりです。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TabHost tabHost = getTabHost();
//tab1 - static text
TabSpec tab1spec = tabHost.newTabSpec("tab1");
tab1spec.setIndicator("One", getResources().getDrawable(R.drawable.pin_empty));
Intent tab1Intent = new Intent(this, Tab1Activity.class);
tab1spec.setContent(tab1Intent);
//tab2 - mirror
TabSpec tab2spec = tabHost.newTabSpec("tab2");
tab2spec.setIndicator("Mirror", getResources().getDrawable(R.drawable.pin_empty));
Intent tab2Intent = new Intent(this, CameraActivity.class);
tab2spec.setContent(tab2Intent);
//tab3 - Google maps
TabSpec tab3spec = tabHost.newTabSpec("tab3");
tab3spec.setIndicator("Map", getResources().getDrawable(R.drawable.pin_empty));
Intent tab3Intent = new Intent(this, GoogleMapsActivity.class);
tab3spec.setContent(tab3Intent);
//tab4 - static text
TabSpec tab4spec = tabHost.newTabSpec("tab4");
tab4spec.setIndicator("Four", getResources().getDrawable(R.drawable.pin_empty));
Intent tab4Intent = new Intent(this, Tab4Activity.class);
tab4spec.setContent(tab4Intent);
tabHost.addTab(tab1spec);
tabHost.addTab(tab2spec);
tabHost.addTab(tab3spec);
tabHost.addTab(tab4spec);
}
ここに 2 つのスクリーンショットがあります。3 番目のタブ (マップ) をクリックしてから 2 番目のタブ (ミラー) をクリックしましたが、まだマップが表示され、ミラーに自分の顔は表示されません。
1/ http://krispin.cz/_/so/TabActivity_problem-map.png
2/ http://krispin.cz/_/so/TabActivity_problem-mirror.png