0

FragmentActivity があり、これはタブ バーです。最初のタブにはフラグメント (Supportmapfragment) が含まれています。2 番目のタブには、フラグメント (Supportmapfragment) も含まれています。2番目のタブに切り替えると、2番目のsupportmapfragmentでは何もできませんが、画面をロックしてからロックを解除すると、すでに実行できます。このスイッチでは、最初のフラグメントの状態を維持する必要があるため、最初のフラグメントを非表示にします。

これは可能です、どうすればこれを行うことができますか。ありがとう。

4

1 に答える 1

1

私が試した解決策は、異なるタブのアクティビティを切り替えながら、removeView() を使用して onpause() でマップを削除し、onResume() で addView() を使用して再度追加することです。

マップは相対レイアウトで拡張され、そのレイアウト自体から追加および削除されます。

onCreate() で:

    setContentView(R.layout.rel_layout);
rel = (RelativeLayout)findViewById(R.id.rel);
LayoutInflater inflater = LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.map_layout, null);
rel.addView(view);

onPause() および onResume() メソッド:

   @Override
   protected void onPause() 
   {
        rel.removeView(view);
    super.onPause();
   }

   @Override
   protected void onResume() 
   {
    if (view.getParent()!=rel)
        rel.addView(view);
    super.onResume();
   }
于 2013-05-09T07:46:40.033 に答える