android 片段 运行 在后台
android fragment running in the background
我有以下调用链
在一个片段中,我调用 zxing 集成器扫描二维码,returns 结果在
onActivityResult(int requestCode,int resultCode,Intent data)
的片段
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));
返回主机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 元素。这会给您带来一些严重的内存泄漏或错误。
我有以下调用链
在一个片段中,我调用 zxing 集成器扫描二维码,returns 结果在
onActivityResult(int requestCode,int resultCode,Intent data)
的片段
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));
返回主机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 元素。这会给您带来一些严重的内存泄漏或错误。