我正在尝试在多个标签中使用QR码阅读器。在使用Google Vision API出现问题后,我尝试切换到zxing。首先,我尝试使用库zxing-android-embedded。
我尝试了他们的标签样本,其中包含条形码阅读器和摄像头视图。如果我用额外的条形码阅读器替换摄像机视图,则第一个标签中的视图将保持黑色。
我在ScissorTest s1 = new ScissorTest(0, 0, 64, 64);
draw.rect();
ScissorTest s2 = new ScissorTest(32, 32, 48, 48);
draw.smallRect();
s2.destroy();
// Here you can draw something in bounds of s1
s1.destroy();
中的ScanFragments
中使用了两个SectionsPagerAdapter
:
TabbedScanning.java
切换标签或更改屏幕方向后,一切正常,但在第一个标签保持黑色之前。
我还在日志文件中发现以下错误,我不知道如何解决这个问题。
@Override
public android.support.v4.app.Fragment getItem(int position) {
if(position == 0) {
return ScanFragment.newInstance();
} else {
return ScanFragment.newInstance();
}
}
我能做些什么,视图不会保持黑色并显示工作的视角?
答案 0 :(得分:0)
我想我找到了解决这个问题的方法:
在setUserVisibleHint中,您必须为当前字段分配片段的当前可见性。
private boolean isVisibleToUser = false;
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
this.isVisibleToUser = isVisibleToUser;
...
并在onResume
中检查此值@Override
public void onResume() {
super.onResume();
if (isVisibleToUser)
barcodeView.resume();
}
我现在已经在2个不同的设备上对此进行了测试,并且在更改屏幕方向或最小化应用后没有遇到任何其他问题。