0

Aは抽象で、B、CなどはAから継承する、単純なアクティビティの階層があります。ネットワーク接続を処理する場所が必要であり、親アクティビティ(A)に配置するとよいでしょう。ただし、子アクティビティ(B、C)のコードの実行を停止する方法がわかりません。さらに、子アクティビティ(B、C)の各onResumeメソッドには、同様に実行されるべきではない追加のネットワークコードがあります。

それで、親onCreateの「if」+子onCreateの「if」+子onResumeの「if」以外の方法はありますか?このアプローチはもっと簡潔にする必要があります。

4

2 に答える 2

0

isNetworkAvliableのような抽象的なアクティビティAでブール値を保持します。OncreateofAまたはonResumeofAでネットワークの存在を確認し(すべての作業の前にBとCでsuper.onResumeを呼び出す必要があります)、ネットワークをif(isNetworkAvliable)に配置します。

于 2012-07-07T17:25:08.557 に答える
0

これを試して...

  1. BとCがAから継承されている場合でも、明示的に呼び出すまで、ネットワークを処理するメソッドがBとCで実行されるとは思いません。

  2. また、クラスAでネットワーク接続を処理する場合は、クラスAにメソッドを作成し、クラスBとCからpublic void handleConnection()呼び出しを行います 。onCreate()onResume()super.handleConnection();

于 2012-07-07T18:29:43.330 に答える