Est-il possible de trouver une vue par ID dans le cadre d'un fragment? J'utilise une série de fragments pour rendre une liste spécialisée. Les fragments sont chargés depuis une présentation, leurs widgets ont donc tous le même identifiant.
Je suppose que je peux trouver un moyen de donner à chaque widget un identifiant personnalisé pendant (ou juste après) la création. Cependant, ce serait beaucoup plus agréable si je pouvais en quelque sorte limiter findViewById à la portée du fragment.
private View myFragmentView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
myFragmentView = inflater.inflate(R.layout.myLayoutId, container, false);
myView = myFragmentView.findViewById(R.id.myIdTag)
return myFragmentView;
}
De l'intérieur du fragment:
getView().findViewById(R.id.your_view);
De l'activité suivante:
getFragmentManager().findFragmentByTag("YourFragmentTag").getView().findViewById(R.id.your_view);
ou
getFragmentManager().findFragmentById(R.id.your_fragment).getView().findViewById(R.id.your_view);
Vous pouvez le faire par getView().findViewById()
Oui, il existe un moyen, vous pouvez le trouver via rootView. Recherchez d’abord le rootView de votre fragment rootView=getView();
, puis utilisez rootView.findViewById(...);
.
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootview=null;
rootview=inflater.inflate(R.layout.fragment_web_view, container, false);
ListView lv = (ListView)rootview.findViewById(Android.R.id.list);
return rootview;
// Inflate the layout for this fragment
//return inflater.inflate(R.layout.fragment_web_view, container, false);
}