Android, как перезапустить / обновить фрагмент из FragmentActivty?

В моем FragmentActivity у меня есть фрагмент. Этот фрагмент загружает данные с сервера. Я хочу, чтобы пользователь нажимал кнопку обновления, затем я вызываю метод во фрагменте и выполняю процесс обновления.

Я создал интерфейс в FragmentActivity и установил его переменную, когда пользователь нажимает кнопку обновления. Код выглядит так:

public class MainScreen extends FragmentActivity {
    public interface OnRefreshSelected {
        public void refreshFragment(boolean flag);
    }

    private OnRefreshSelected onRefreshSelected;

    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            Log.i(TAG, "Try to create MainScreen...");

            setContentView(R.layout.activity_main);

        onRefreshSelected = (OnRefreshSelected) MainScreen.this;
    }

     @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.activity_main, menu);
            return true;
        }

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
                    case R.id.menu_refresh:
                        onRefreshSelected.refreshFragment(true);
                        return true;
                    default:
                        return super.onOptionsItemSelected(item);
        }
    }
}

И в классе Fragment я реализовал этот интерфейс:

public class CategoryFragment extends Fragment implements OnRefreshSelected {
    @Override
    public void refreshFragment(boolean flag) {
        Log.i(TAG, "refresh requested. Try to reload data for this fragment...");

        getData();
    }
} 

При запуске приложение вылетает, и logcat показывает это сообщение:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.astro.recipe.activities/com.astro.recipe.activities.MainScreen}: java.lang.ClassCastException: com.astro.recipe.activities.MainScreen

и указывает на эту строку:

onRefreshSelected = (OnRefreshSelected) MainScreen.this;

Каков наилучший способ получить доступ к методу фрагмента с его хоста? Любое предложение будет оценено. Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос