作者:稀释的梦_251 | 来源:互联网 | 2023-09-24 11:58
伙计们即时通讯使用片段显示动态视图。
在该片段中,我在使用回收站视图时使用recyclerview可以打开相同的片段,例如new FragmentTrainingAndFolder();
。
现在当我转到第二个片段时,我有两个片段1和2,该片段在屏幕上显示其回收站视图和回收站视图notifydatasetchanged一切正常。
然后我使用getFragmentManager().popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE);
回到B到A。
我回到片段列表,以前的回收站视图显示良好。但是当我刷新此回收器视图时,它不会刷新。和我的
警报
崩溃,显示片段未附加到活动中,这是我的代码。
这是我的onbackpress事件
@Override
public void onBackpressed() {
if (fm.getBackStackEntryCount() > 0) {
getFragmentManager().getBackStackEntryCount();
Log.d(TAG,"onBackpressed: "+getFragmentManager().getBackStackEntryCount());
getFragmentManager().popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
我将新片段添加到列表中时的点击事件
fragment = new FragmentTrainingAndFolder(mDisplayedValues.get(position).getId());
Bundle bundle = new Bundle();
bundle.putString("tag",parentid);
fragment.setarguments(bundle);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().add(R.id.content_frame,fragment,parentid).addToBackStack(parentid).commit();
这是我添加到recylerview的ArrayList中时分配的列表项
JSONArray jsOnArray= jsonObj.getJSONArray("data");
try {
Log.d(TAG,"parseFolderData:OLD " + arrayofFolders.size());
} catch (Exception v) {
}
arrayofFolders = new ArrayList<>(Arrays.asList(gson.fromJson(jsonArray.toString(),ArrayofFolder[].class)));
Log.d(TAG,"parseFolderData:new " + arrayofFolders.size());
folderAdapter = new FolderAdapter(CoachNevigationDrawerScreen.activity,new ArrayList<>(Arrays.asList(gson.fromJson(jsonArray.toString(),ArrayofFolder[].class))));
folderRecyclerView.setadapter(null);
LinearLayoutManager llm = new LinearLayoutManager(CoachNevigationDrawerScreen.activity);
llm.setOrientation(LinearLayoutManager.VERTICAL);
folderRecyclerView.setLayoutManager(llm);
folderRecyclerView.setadapter(folderAdapter);
folderAdapter.notifyDataSetChanged();