Atualizando uma visão dentro de um fragmento

Eu pesquisei as numerosas perguntas que se parecem com esta, mas não encontrei a minha resposta em nenhuma delas.

Eu tenho uma atividade que tem 3 guias acessíveis através da barra de ação. Eu consegui isso adicionando 3 fragmentos que aumentam uma visão personalizada que eu fiz estendendo a classe de visão.

No momento em que o banco de dados é alterado, tento atualizar a exibição em minha guia chamando invalidate () / postinvalidate (), mas isso não funciona. O mesmo vale para chamar onCreateView do fragmento, assim como muitas outras opções que eu considerei.

Quando eu vou para outra guia e volto, no entanto, a alteração foi feita e minha visão é atualizada como deveria ser.

Como posso simular a mesma coisa que acontece quando mudo para outra aba? O que acontece? Eu tentei olhar para o ciclo de vida do fragmento (tentei chamar onCreateView ()) para descobrir isso, mas ele só não quer atualizar / redesenhar como deveria.

Os dados são carregados corretamente, pois os dados são alterados quando eu mudo para outra guia.

Eu apaguei alguns dos códigos, pois eles não são mais relevantes. Eu implementei Cursorloaders em vez do meu próprio padrão Observer para notificar uma mudança. Esta é a minha principal atividade agora.

A questão é o que devo fazer agora se eu quiser redesenhar a visão dentro desses fragmentos. Se eu aplicar fragmentObject.getView (). Invalidate (), não funciona. Estou tendo o mesmo problema de antes, mas agora meu Observer para notificar uma alteração no banco de dados é implementado corretamente com os carregadores.

public class ArchitectureActivity extends Activity implements LoaderManager.LoaderCallbacks<Cursor> {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);     
    setContentView(R.layout.main);

    ActionBar actionbar = getActionBar();
    actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    ActionBar.Tab EditTab = actionbar.newTab().setText("Edit");
    ActionBar.Tab VisualizeTab = actionbar.newTab().setText("Visualize");
    ActionBar.Tab AnalyseTab = actionbar.newTab().setText("Analyse");

    Fragment editFragment = new EditFragment();
    Fragment visualizeFragment = new VisualizeFragment();
    Fragment analyseFragment = new AnalyseFragment();

    EditTab.setTabListener(new MyTabsListener(editFragment));
    VisualizeTab.setTabListener(new MyTabsListener(visualizeFragment));
    AnalyseTab.setTabListener(new MyTabsListener(analyseFragment));

    actionbar.addTab(EditTab);
    actionbar.addTab(VisualizeTab);
    actionbar.addTab(AnalyseTab);

    ArchitectureApplication architectureApplication = (ArchitectureApplication)getApplicationContext();
    architectureApplication.initialize();

    getLoaderManager().initLoader(0, null, this);
    getLoaderManager().initLoader(1, null, this);
}

public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    if (id == 0){
        return new CursorLoader(this, GraphProvider.NODE_URI , null, null, null, null);
    } else if (id == 1){
        return new CursorLoader(this, GraphProvider.ARC_URI , null, null, null, null);
    }
    return null;
}

public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
    // Reloading of data, actually happens because when switching to another tab the new data shows up fine
    Log.e("Data", "loaded");
}

public void onLoaderReset(Loader<Cursor> loader) {
}
}

questionAnswers(5)

yourAnswerToTheQuestion