android 片段 运行 在后台

android fragment running in the background

我有以下调用链

  1. 在一个片段中,我调用 zxing 集成器扫描二维码,returns 结果在

     onActivityResult(int requestCode,int resultCode,Intent data) 
    

    的片段

  2. onActivityResult调用了一个Asynctask,

    new getStaffIdTask(choosen_schema_for_scanning,userid).execute((Void)null); 
    

    其 onPostExecute(final Boolean success) 将片段侦听器调用为..

     if(mListener!=null)
                mListener.onScannedStaff(tableName,Integer.parseInt(id),Integer.parseInt(userid));
    
  3. 返回主机activity onScannedStaff 函数被调用并在其中替换一个片段

    @Override
    

    public void onScannedStaff(String tableName, int staffid,int staffUid) { getSupportActionBar().setTitle("Staff Profile");

    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();
    

    }

问题是该片段在后台运行,根本不显示任何 UI。我不知道如何显示它

我也遇到了同样的问题。在片段中使用 LinearLayout。背景颜色应为白色且可点击。

并且不要从 OnPostExecute() 调用 UI 元素。这会给您带来一些严重的内存泄漏或错误。