обновить пользовательский интерфейс фрагмента из фрагмента
Я хочу изменить ImageView во фрагменте (который создается в коде), из FragmentActivity. (в XML нет фрагмента и тега).
MainActivity, которая расширяется от FragmentActivity и реализуется из GooglePlayServicesClient.ConnectionCallbacks:
...
FragmentAdapter mAdapter;
ViewPager mPager;
...
public void onCreate(Bundle savedInstanceState){
...
FragmentManager fm = getSupportFragmentManager();
mAdapter = new FragmentAdapter(fm);
mPager.setAdapter(mAdapter);
...}
@Override
public void onConnected(Bundle connectionHint){
//*** I want to change a ImageView on Fragment1 here
}
FragmentAdapter, который выходит из FragmentPagerAdapter:
...
private FragmentManager mFragmentManager;
public FragmentAdapter(FragmentManager fm){
super(fm);
}
@Override
public Fragment getItem(int pos){
// String name = makeFragmentName(R.id.mainPager, pos);
// Fragment fragmentObject = mFragmentManager.findFragmentByTag(name);
Fragment fragmentObject = null;
switch(pos){
case 0:
fragmentObject = new Fragment1();
break;
...
}
return fragmentObject;
}
...
//private static String makeFragmentName(int viewId, iont index){
//return "android:switcher:" + viewId + ":" + index;
//}
В соответствии сэтот тема для изменения элемента во фрагменте из fragActivity:
Fragment1, который простирается от Fragment:
private ImageView IMGThisImageShouldChange = null;
public View onCreateView(...){
IMGThisImageShouldChange = (ImageView)v.findViewById(R.id.TargetImage);
...
}
public void changeImageView(int resourceId){
IMGThisImageShouldChange.setImageResource(resouirceId);
}
Строка комментария в этой теме гласит:
// Не создавайте новый объект каждый раз, когда вы устанавливаете текст. Используйте тот же фрагмент объекта, который вы используете для просмотра пейджера.
Итак, как я могу получить доступ к фрагменту из MainActivity, чтобы вызвать метод changeImageView?
Если я должен найти фрагмент через тег, в соответствии сэтот тема, где я должен установить тег и как найти?