Android fragments 后台运行的android片段

Android fragments 后台运行的android片段,android-fragments,zxing,Android Fragments,Zxing,我有以下一连串的要求 在一个片段中,我调用zxing integrator来扫描qr码,该码在 onActivityResult(int requestCode,int resultCode,Intent data) 碎片的形状 onActivityResult调用Asynctask new getStaffIdTask(choosen_schema_for_scanning,userid).execute((Void)null); 其onPostExecute(最终布尔成功)将片段侦

我有以下一连串的要求

  • 在一个片段中,我调用zxing integrator来扫描qr码,该码在

     onActivityResult(int requestCode,int resultCode,Intent data) 
    
    碎片的形状

  • onActivityResult调用Asynctask

    new getStaffIdTask(choosen_schema_for_scanning,userid).execute((Void)null); 
    
    其onPostExecute(最终布尔成功)将片段侦听器调用为

     if(mListener!=null)
                mListener.onScannedStaff(tableName,Integer.parseInt(id),Integer.parseInt(userid));
    
  • 回到主机活动上,调用onScannedStaff函数,并在其中替换片段

    @Override
    
    CannedStaff上的公共void(字符串tableName、int staffid、int staffUid) { getSupportActionBar().setTitle(“员工档案”)

    }


  • 问题是这个片段在后台运行,它根本不显示任何UI。我想不出如何表现出来,我也面临着同样的问题。在片段中使用LinearLayout。背景色应为白色,并且应可单击

    并且不要从OnPostExecute()调用UI元素。这将导致一些严重的内存泄漏或错误

    Fragment fragment= StaffProfileFragment.newInstance(tableName,staffid,staffUid);
    FragmentTransaction transaction=getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.home_boss_base,fragment,"scannedstaff");
    transaction.addToBackStack(null);
    transaction.commit();