2011-12-13 7 views
0

roboguiceを使用して、このクラスから拡張した独自の実装でデフォルトのアクティビティクラスを置き換える方法はありますか?roboguice独自の実装でアクティビティを置き換えよう

例えば、このような活動:

public class MyActivity extends Activity 
{...} 

は、デフォルトのActivityクラスに取って代わるだろうし、他のすべての派生活動の拠点の活動になるだろう。

答えて

1

はい。最も簡単な方法は、基本アクティビティをRoboActivityから拡張することです。

例:

class MyBaseActivity extends RoboActivity { ... } 

さらに、すべてのアクティビティをMyBaseActivityから継承してください。何らかの理由であなたがRoboActivityから延長を希望されない場合

しかし、あなたは簡単に次のようにして、独自の活動に注入を追加することができます。

class MyBaseActivity extends Activity { 

    public void onCreate(Bundle b) { 
     super.onCreate(b); 
     RoboGuice.getInjector(this).injectMembersWithoutViews(this); 
    } 

    public void onContentChanged() { 
     super.onContentChanged(); 
     RoboGuice.getInjector(this).injectViewMembers(this); 
    } 
} 

は、より多くの詳細については、RoboActivity's sourceを見てみましょう。イベントを必要としない限り、必要な変更は非常に簡単です。

関連する問題