【问题标题】:how to setContenView in fragment如何在片段中设置ContentView
【发布时间】:2023-03-18 16:17:01
【问题描述】:

您好,我想在片段中展示我的 ZXingScanner

我试过这个:

scannerView.setResultHandler(getActivity());

scannerView.resumeCameraPreview(getActivity());

这是我的片段

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        mView = inflater.inflate(R.layout.fragment_scan_qr, container, false);
        qrCameraLayout = (LinearLayout) mView.findViewById(R.id.layoutScanner);
        scannerView = new ZXingScannerView(getActivity().getApplicationContext());
        scannerView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));
        qrCameraLayout.addView(scannerView);
        return mView;
    }

    @Override
    public void onResume() {
        super.onResume();
        if (scannerView == null){
            scannerView = new ZXingScannerView(getActivity().getApplicationContext());
            qrCameraLayout.addView(scannerView);
        }
        scannerView.setResultHandler(getActivity());
        scannerView.startCamera();
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        scannerView.stopCamera();
    }

    @Override
    public void onPause() {
        super.onPause();
        scannerView.stopCamera();
    }
    public void handleResult(Result result) {
        String scanResult = result.getText();
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity().getApplicationContext());
        builder.setTitle("Scan Result");
        builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                scannerView.resumeCameraPreview(getActivity().getApplicationContext());
            }
        });
        builder.setNegativeButton("Cancel",null);
        builder.setMessage(scanResult);
        AlertDialog alertDialog = builder.create();
        alertDialog.show();
    }

【问题讨论】:

    标签: android-studio android-fragments zxing android-mediascanner


    【解决方案1】:

    fragment 不需要 setContentView,只需要 活动。你得到如下膨胀视图:

     View mView = inflater.inflate(R.layout.fragment_scan_qr, container, false);
    

    【讨论】:

    • 我发现了一个新问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-19
    • 1970-01-01
    相关资源
    最近更新 更多