我想使用这个库: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/