Android Dialog Fragments和onActivityResult

时间:2014-07-11 13:42:51

标签: android onactivityresult dialogfragment

我创建了一个应用程序,为用户提供了一个包含两个选项的对话框片段:YesNo

如果用户选择“是”,应用程序将调用设备上安装的Zxing barscan应用程序,并返回结果。

现在,我有一个这个工作的概念证明。然而,这个概念证明使用了一个简单的Activity。因此,我可以使用活动来实现此Barscan结果,而不是使用Dialog Fragment。

概念证明中使用的代码如下:

    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
    //retrieve scan result
    IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);

    if (scanningResult != null) {
        String scanContent = scanningResult.getContents();      
        String scanFormat = scanningResult.getFormatName();
        formatTxt.setText("FORMAT: " + scanFormat);
        contentTxt.setText("CONTENT: " + scanContent);
        }
    else{
        Toast toast = Toast.makeText(getApplicationContext(), 
            "No scan data received!", Toast.LENGTH_SHORT);
        toast.show();
    }   
}

此代码不适用于对话框片段。我一直在寻找this问题。

然而它不会集成,因为我无法访问requestCode,resultCode或intent required,并且对于如何操作非常困惑。

1 个答案:

答案 0 :(得分:3)

您的片段应按startActivityForResult而不是getActivity().startActivityForResult

启动活动

onActivityResult致电super.onActivityResultonActivityResult片段中的活动中,您可以输入您在此处发布的代码。

更多信息原因: