【问题标题】:android fragment running in the background在后台运行的android片段
【发布时间】:2018-06-03 19:15:34
【问题描述】:

我有以下调用链

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

     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. 返回宿主活动,调用 onScannedStaff 函数并在其中替换片段

    @Override
    

    public void onScannedStaff(String tableName, int staffid,int staffUid) { getSupportActionBar().setTitle("员工简介");

    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。我不知道如何显示它

【问题讨论】:

    标签: android-fragments zxing


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多