0
public class MyTabActivity extends TabActivity {
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    dataManager = DataManager.getInstance(getApplicationContext());
  }
}

上記のようなタブアクティビティがあります。最初の実行では問題なく動作します。バックグラウンドでアクティビティがメモリから削除された後、アプリを再度開くとクラッシュします。その理由は、getApplicationContext() が null を返すためです。

他のアクティビティでも同じ設定を問題なく使用しています。ドキュメントのどこにも、いつ/なぜ/もしnullが返されるかがわかりません。

4

1 に答える 1

0

MyTabActivity は Context から継承するため (3 レベル上)、単に「this」を DataManager.getInstance に渡すことができます。

于 2012-05-20T18:56:55.377 に答える