当我点击按钮时,我实际上是想把我的片段用于Zxing qr扫描仪。
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");// for Qr code, its
// "QR_CODE_MODE"
// instead of
// "PRODUCT_MODE"
intent.putExtra("SAVE_HISTORY", false);// this stops saving ur
// barcode in barcode
// scanner app's history
startActivityForResult(intent, 0);
我面临的问题是,在下面的代码中,我无法让我的resultCode与RESULT_OK和RESULT_CANCELED进行比较。我设法在一个活动中做到这一点很好,但是当我想在我的片段类中实现时,我无法这样做。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
Log.d("onActivityResult", "Started");
if (requestCode == 0)
{
if (resultCode == RESULT_OK)
{
String contents = data.getStringExtra("SCAN_RESULT");
TextView txt_qrCode = (TextView) rootView.findViewById(R.id.txt_helloWorld);
// txt_qrCode.setText(contents);
}
else if (resultCode == RESULT_CANCELED)
{
// Handle cancel
}
}
}
答案 0 :(得分:1)
我找到了这个问题的答案。
int android.app.Activity.RESULT_CANCELED = 0 [0x0]
因为RESULT_OK和RESULT_CANCELED实际上是依赖于活动而在我的片段类中没有活动。我只是把
if (resultCode == getActivity().RESULT_OK)
.
.
而不是
if (resultCode == RESULT_OK)
.
.
这将允许我获得膨胀片段的父活动。