2012-09-27 11 views
9

私は10以上のアクティビティを持っており、すべて同じコードでメソッドonResume()をオーバーライドしたいと思います。すべてのアクティビティのOnResume()メソッドをオーバーライドします。

私は各アクティビティでこのメソッドをオーバーライドできますが、私は効率的なソリューションを探しています。また

私はメッセージが、例えば、から来ているものの活動によって示しonResumeこの内たいと思います:あなたはMainActivityにある場合、私はこの共通のonResumeはそれがこの活動から来て表示される検知することを望んI'm coming from MainActivity

ありがとうございました。

+0

しかし、私たちがBaseClassを拡張すると、他のクラスを拡張することはできないので、私のソリューションはより良いものになりますか? – Shrikant

+0

@Shrikantいいえ、動作しないからではありません。そこに 'onResume'を定義することはできますが、そこには共通のコードを置くことはできません。とにかくアクティビティを拡張しようとしていたので、何かのような他のクラスは – zapl

+0

ですか? – njzk2

答えて

18

あなたはOverrideBaseClassでの活動やその他の活動にごBaseClass代わりの活動を使用する必要があります。

public class BaseClass extends Activity 
{ 

    public void onResume() 
    { 
    // common code 
    } 
} 

public class OtherClass extends BaseClass 
{ 
} 
+0

しかし、BaseClassを拡張しても他のクラスを拡張することはできないので、私のソリューションはより良いものになりますか? – Shrikant

+0

他のクラスを拡張する必要があるのはなぜですか?以前はアクティビティnaからのみ拡張していますか? –

+0

@EldhoseMBabu BaseClasasを拡張するOtherClassです – Blackbelt

0

は、親アクティビティを作成し、そのonResumeを上書きし、その後、すべてのあなたの10回の活動がcreted親を拡張します。

+0

ここでは、どのようなアクティビティが発生しているかに応じて、このonResume内にメッセージを表示したいと思います。MainActivityにいる場合、この共通のonResumeがこの活動から来て、 "私はMainActivityから来ています" – user1677266

関連する問題