java - 如何在代码中添加 BarcodeFragment?

标签 java android barcode zxing

我想使用这个库:https://code.google.com/p/barcodefraglibv2/

但我不知道如何在代码中添加 BarcodeFragment。 这是一个示例:

public class MainActivity extends Activity implements IScanResultHandler{
        BarcodeFragment fragment;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            fragment = new BarcodeFragment();
            FragmentTransaction ft = getFragmentManager().beginTransaction();
            ft.add(R.id.sample, fragment).commit();
            fragment.setScanResultHandler(this);

        }
    }

但是我这里有一个错误:

ft.add(R.id.sample, fragment).commit();

The method add(int, Fragment) in the type FragmentTransaction is not applicable for the arguments (int, BarcodeFragment)

谢谢。

最佳答案

这是导入问题。你的Activity不使用支持库,所以 FragmentTransaction.add期待一个 Fragment类型 android.app.Fragment而您提供的是 BarcoreFragment延伸 android.support.v4.app.Fragment ;

您可以通过更改 MainActivity 来解决这个问题并让它实现 FragmentActivity (参见文档 here),然后修复您的导入并进行以下更改:

import android.app.FragmentTransaction;
import android.app.Activity;
MainActivity extends Activity
FragmentTransaction ft = getFragmentManager().beginTransaction();

成为

import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.FragmentActivity;
MainActivity extends FragmentActivity
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

关于java - 如何在代码中添加 BarcodeFragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22092206/

相关文章:

java - 检测 JPanel 何时移动

android - 我可以使用什么来代替 android 中的上下文菜单?

ios - 有没有办法将 MicroQR 条形码添加为 AVMetadataObject.ObjectType?

Python - 循环等待输入

iOS - AVFoundation 是否支持 3D 条形码?

java - 如何在 Flutter/Dart 中从音频文件中获取字节数据(必须是有符号的 int/bytes),就像 AudioInputStream 在 java 中为您提供的那样

java - 编辑 ant Spotbugs 的 build.xml

java - for循环中的数组越界错误(在Selenium Webdriver,Java中读取excel文件)

java - OpenGL-ES 寻找正确的坐标(翻译等...)

android - Dagger 2 和 Android Annotations 可以一起工作吗?