Java 无法在片段内部实现ContentView
我想将ZXingscanner设置为片段中的内容视图,但它不起作用。我有一个带有一些选项卡的应用程序,在其中一个选项卡上,我希望有这个ZXingscanner视图,但当我尝试设置它时,它不起作用。是否有任何setContentView for fragment或类似的东西可用于此特定情况?警报对话框生成器也显示了错误,它说警报对话框不能应用于片段。任何帮助都会非常有用。 代码如下:Java 无法在片段内部实现ContentView,java,android,linux-mint,Java,Android,Linux Mint,我想将ZXingscanner设置为片段中的内容视图,但它不起作用。我有一个带有一些选项卡的应用程序,在其中一个选项卡上,我希望有这个ZXingscanner视图,但当我尝试设置它时,它不起作用。是否有任何setContentView for fragment或类似的东西可用于此特定情况?警报对话框生成器也显示了错误,它说警报对话框不能应用于片段。任何帮助都会非常有用。 代码如下: package com.hist_area.imeda.histarea.fragment; import an
package com.hist_area.imeda.histarea.fragment;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.os.Vibrator;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.widget.Toast;
import com.google.zxing.Result;
import me.dm7.barcodescanner.zxing.ZXingScannerView;
public class EmptyFragment extends Fragment implements ZXingScannerView.ResultHandler {
public static EmptyFragment create() {
return new EmptyFragment();
}
Vibrator vibrator;
private static final int CAMERA_PERMISSION_REQUEST_CODE = 8675309;
private ZXingScannerView mScannerView;
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == CAMERA_PERMISSION_REQUEST_CODE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
invokecamera();
}
}
}
public void invokecamera() {
mScannerView = new ZXingScannerView(this);
return View(mScannerView);
mScannerView.setResultHandler(this);
mScannerView.startCamera();
}
@Override
public void handleResult(Result result) {
vibrator.vibrate(369);
Log.w("handleResult", result.getText());
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(" Scan Result");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mScannerView.resumeCameraPreview(EmptyFragment.this);
}
});
invokecamera();
builder.setMessage(result.getText());
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
}