2016-03-31 2 views
2

を@Overrideは、私が何であるか疑問に思ってそれらと違いは何ですか?@インジェクション レッスンカタログアシスタントプレゼンターレッスンカタログアシスタントプレゼンター;@bind、@Injectと私はAndroidアプリの開発者の初心者だ、と私は</p> <p>を@bindと@Injectを使用して、多くのオープンソースのアプリを見ても、デフォルト@Overrideまし

@Inject 
MarketService marketService; 

@Inject 
ShareService shareService; 

@Bind(R.id.toolbar) 
Toolbar toolbar; 

@Bind(R.id.sliding_tabs) 
TabLayout tabLayout; 

@Bind(R.id.view_pager) 
ViewPager viewPager; 

@BindString(R.string.title_activity_lesson_catalog) 
String title; 

@Bind(R.id.fab) 
FloatingActionButton floatingActionButton; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_lesson_catalog); 
    ButterKnife.bind(this); 
    initToolbar(); 
    initTabs(); 
    initTitle(); 
    lessonCatalogActivityPresenter.setView(this); 
    lessonCatalogActivityPresenter.initialize(); 
} 

private void initToolbar() { 
    setSupportActionBar(toolbar); 
} 


private void initTabs() { 
    viewPager.setAdapter(new LessonsPageAdapter(getFragmentManager())); 
    viewPager.setOffscreenPageLimit(OFF_SCREEN_PAGE_LIMIT); 
    tabLayout.setupWithViewPager(viewPager); 
    viewPager.addOnPageChangeListener(this); 
} 

private void initTitle() { 
    getSupportActionBar().setTitle(title); 
} 

@Override 
public void injectActivity(ActivityComponent component) { 
    component.inject(this); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_main, menu); 
    return true;` 
+1

'の輸入を見なくても確認することができないは、スーパークラスからメソッドを「上書き」に言及しています'@Inject'と' @Bind'は、ButterKnifeやDaggerのような何らかのDependency Injection Libraryを使っているようです。 –

答えて

1
  • @Override注釈が@Bind注釈がviewPagerあなたのインスタンス変数をマッピングするためにButterKnifeで使用されているあなたの例では、このjavadoc

  • を参照してください、このメソッドはそのスーパークラスのいずれかに存在することを示し、 tabLayout ..をそれぞれのUIコンポーネントに割り当てます。

  • @Injectは、あなたのサービスに依存性注入を適用するが、我々はクラスのトップOverride` @

+0

相手にスポットがあります。短くても、3つすべてで正しい。 – Vucko

関連する問題