2017-05-03 1 views
2

dans mon projet j'ai ce cas:Butterknife comment Bindview d'un autre Vues

@BindView(R.id.viewpager) 
ViewPager viewPager; 
TabLayout tabLayout; 
AddParkingFragmentListener listener; 



public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View inflatedView = inflater.inflate(R.layout.fragment_add_parking, container, false); 

    ButterKnife.bind(this, inflatedView); 

    tabLayout = (TabLayout) getActivity().findViewById(R.id.tabs); 
    tabLayout.setVisibility(View.VISIBLE); 

    return inflatedView; 
} 

où je dois lier une vue qui est dans la mise en page activity_main.xml. J'ai pensé que je pourrais utiliser une interface pour désactiver la visibilité directement dans MainActivity, mais je saurais aussi s'il y a la possibilité de lier cette vue en utilisant Butterknife, parce que dans MainActivity j'ai aussi ce problème:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    View view = navigationView.getHeaderView(0); 
    profile = (ImageView) view.findViewById(R.id.imgPro); 

    //this views are in the navigation view, how to bind using butterknife? 
    logo = (ImageView) view.findViewById(R.id.logo); 

    email = (TextView) findViewById(R.id.email_profile); 

    ButterKnife.bind(this); 

} 

est-il un moyen de le faire ou je dois utiliser la méthode findViewById()?

Merci

Répondre

2

Selon la documentation de oficial Butter Knife Library

Ils ont inclus findById méthodes qui visent à simplifier le code qui doit encore trouver des vues sur un View, Activity ou Dialog. Il utilise des génériques pour déduire le type de retour et exécute automatiquement la distribution.

View view = LayoutInflater.from(context).inflate(R.layout.thing, null); 
TextView firstName = ButterKnife.findById(view, R.id.first_name); 
TextView lastName = ButterKnife.findById(view, R.id.last_name); 
ImageView photo = ButterKnife.findById(view, R.id.photo); 

Ajouter une importation statique pour ButterKnife.findById et profiter encore plus de plaisir.

Source: http://jakewharton.github.io/butterknife/

+0

pour que je puisse utiliser @BindView classique pour les vues normales et ButterKnife.findById pour d'autres? – ste9206

+1

oui: D C'est ça! –

+0

si bon: D merci beaucoup! – ste9206