我试图在每次片段出现时使方法可执行。我有一个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之前运行。我怎样才能使这个可行或者我的方法不够。
答案 0 :(得分:3)
使用onResume()
方法调用您的方法。