执行一个方法非常时间片段出现

时间:2016-02-16 14:00:18

标签: java android android-fragments

我试图在每次片段出现时使方法可执行。我有一个MainActivity和一个PagerAdapter,在PagerAdapter中,我有片段,所以我的问题是我在我的onCreate of Fragment中放了一个方法,但它只执行一次。也许onCreate of Activity和Fragment都有角色。在搜索了类似的问题后,我发现了这个:

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser) {
        // Do your Work

    } else {
        // Do your Work
    }
}

但是当我把我的方法放在这里时,我得到一个NullPointerException。我的方法:

public void retrieveLocalStoredNotes() {
    notesArray = new ArrayList<String>();
    notesIDArray = new ArrayList<String>();

    for (NotesRealmClass note : NotesQueryRealm) {
        notesArray.add(note.getTitle());
        notesIDArray.add(note.getobjectId());
    }

    notesAdapter = new NotesAdapter(getActivity(), getData());
    recyclerView.setAdapter(notesAdapter);
    recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
}

我可能会收到此错误,因为我正在初始化onCreate和setVisibleHint中的变量,并且它在onCreate之前运行。我怎样才能使这个可行或者我的方法不够。

1 个答案:

答案 0 :(得分:3)

使用onResume()方法调用您的方法。