在后台运行的android片段

时间:2018-06-03 19:15:35

标签: android-fragments zxing

我有以下的电话链

  1. 在一个片段中我调用zxing积分器扫描qr代码,该代码返回结果

     onActivityResult(int requestCode,int resultCode,Intent data) 
    
    片段的

  2. 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));
    
  3. 回到主机活动上,调用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();
    

    }

  4. 问题是这个片段在后台运行,根本没有显示任何UI。我无法弄清楚如何展示它

1 个答案:

答案 0 :(得分:0)

我也面临同样的问题。在片段中使用LinearLayout。背景颜色应该是白色,并且应该可以点击。

也不要从OnPostExecute()中调用UI元素,这会给您带来一些主要的内存泄漏或错误。