Android studio 无法在我的自动完成文本视图中显示条形码扫描文本

Android studio 无法在我的自动完成文本视图中显示条形码扫描文本,android-studio,android-fragments,zxing,barcode-scanner,autocompletetextview,Android Studio,Android Fragments,Zxing,Barcode Scanner,Autocompletetextview,我已经通过使用实现了条形码扫描仪。本教程使用了zxing集成。我能够配置条形码应用程序 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" and

我已经通过使用实现了条形码扫描仪。本教程使用了
zxing集成
。我能够配置条形码应用程序

 <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:padding="2dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left|center_vertical"

                android:text="Smart MSN #" />

            <AutoCompleteTextView
                android:id="@+id/smart_msn_spinner"
                android:layout_width="157dp"
                android:layout_height="wrap_content"
                android:layout_gravity="left|center_vertical"
                android:inputType="number" />

            <ImageButton
                android:id="@+id/start_scan"
                android:layout_width="66dp"
                android:layout_height="match_parent"
                android:background="@color/white"
                app:srcCompat="@drawable/ic_baseline_qr_code_scanner_24" />

        </LinearLayout>


public class NewFormFragment extends Fragment {

  @BindView(R.id.start_scan)
  ImageButton startScan;
  
  @BindView(R.id.smart_msn_spinner)
  AutoCompleteTextView smartMsnSpinner;

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
   bindListners();
  }

   private void bindListners() {
   .
   .
   .
   .
   startScan.setOnClickListener(startScanning);
   }

   private final View.OnClickListener startScanning = v -> {
    if(v.getId()==R.id.start_scan){
        IntentIntegrator scanIntegrator = new IntentIntegrator(getActivity());
        scanIntegrator.initiateScan();
    }
    };

  public void onActivityResult(int requestCode, int resultCode, Intent data) {
  
       IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
    if (scanningResult != null) {
        String scanContent = scanningResult.getContents();
        String scanFormat = scanningResult.getFormatName();
        //smartMsnSpinner.setText("FORMAT: " + scanFormat);
        smartMsnSpinner.setText(scanContent);
    }
  }
}

公共类NewFormFragment扩展了片段{
@BindView(R.id.start\u扫描)
图像按钮开始扫描;
@BindView(R.id.smart\u msn\u微调器)
AutoCompleteTextView smartMsnSpinner;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
bindListners();
}
私有void bindListners(){
.
.
.
.
startScan.setOnClickListener(startScanning);
}
private final View.OnClickListener startScanning=v->{
如果(v.getId()==R.id.start\u扫描){
IntentIntegrator scanIntegrator=新的IntentIntegrator(getActivity());
scanIntegrator.initiateScan();
}
};
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
IntentResult scanningResult=IntentIntegrator.parseActivityResult(请求代码、结果代码、数据);
如果(扫描结果!=null){
字符串scanContent=scanningResult.getContents();
字符串scanFormat=scanningResult.getFormatName();
//smartMsnSpinner.setText(“格式:“+scanFormat”);
smartMsnSpinner.setText(扫描内容);
}
}
}
当我启动应用程序并单击扫描按钮时,我可以扫描条形码。但扫描后,我在我的
自动完成文本视图中什么也看不到,即
smartMsnSpinner

在调试过程中,我看到在扫描
断点之后,从未点击过
onActivityResult

我一定错过了一些我不知道的东西


非常感谢您的帮助。

如果您在
片段
中使用zxing扫描仪而不是
活动
,您可能需要调用
IntentIntegrator.forSupportFragment(NewFormFragment.this).initiateScan()
。另请参见:@atarasenko It's giving me
错误:找不到符号IntentIntegrator.forSupportFragment(this.initiateScan()
将zxing库包含为gradle依赖项:
实现'com.journeyapps:zxing android embedded:4.1.0'
,然后调用
IntentIntegrator.forFragment(this.initiateScan()。请参阅指南。@atarasenko我仍然无法使用
.forFragment
.forSupportFragment