我想在加载片段之前查看视图是否存在。在我加载片段的方法中,我有以下内容:
public void loadFragment(Fragment fragment){
FragmentManager fragmentManager = Objects.requireNonNull(getActivity()).getSupportFragmentManager();
// Begin Fragment transaction.
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();// Replace the layout holder with the required Fragment object.
fragmentTransaction.replace(R.id.outbound_dashboard_hourly_queued, fragment);
// Commit the Fragment replace action.
fragmentTransaction.commit();
}
我想要的是在加载之前检查R.id.outbound_dashboard_hourly_queued
是否存在
我该如何进行?
答案 0 :(得分:1)
只需执行protected String doInBackground(String...url) {
return Update(url[0]);
}
,然后在视图不为Null的情况下加载片段,请保留if检查。
findViewById(R.id.outbound_dashboard_hourly_queued)
答案 1 :(得分:0)
尝试
检查是否添加了Fragmnet
=TEXT(A1,"MMM D")&" - "&TEXT(B1,"MMM D")
添加Framgnet
if (getCurrentFragment() instanceof YourFragment)
方法
replaceFragment(new HomeFragment(), "YourFragment");
答案 2 :(得分:0)
您可以使用FragmentManager提供的findFragmentByTag(String tag)方法来检查片段是否已经存在。
Fragment fragment = getSupportFragmentManager().findFragmentByTag(TAG);
要使其正常工作,您需要使用-
将该片段与该TAG一起提交 fragmentTransaction.replace(R.id.outbound_dashboard_hourly_queued, fragment, TAG);
答案 3 :(得分:0)
如果count == 0,请先进行计数检查,然后再添加,否则必须替换代码。
public void loadFragment(Fragment fragment){
FragmentManager fragmentManager = Objects.requireNonNull(getActivity()).getSupportFragmentManager();
// Begin Fragment transaction.
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();// Replace the layout holder with the required Fragment object.
if(fragmentManager.getFragments().size() == 0){
fragmentTransaction.add(R.id.outbound_dashboard_hourly_queued, fragment).commit();
}else {
fragmentTransaction.replace(R.id.outbound_dashboard_hourly_queued, fragment).commit();
}
// Commit the Fragment replace action.
}
请尝试一下,让我知道。