2013-08-19 58 views
2

我實際上試圖意圖我的片段Zxing qr掃描儀單擊按鈕時。無法比較Zxing qr掃描儀的int變量onActivityResult

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

This this http://stackoverflow.com/questions/1276635/how-to-include-and-use-zxing-library-in-android-with-eclipse/9108983#9108983 – taxeeta

+0

我其實打算zxing本地應用程序在市場上。 – thhVictor

回答

1

我找到了這個問題的答案。

INT android.app.Activity.RESULT_CANCELED = 0 [爲0x0]

由於RESULT_OK和RESULT_CANCELED實際上是依靠活性和在我的片段類沒有活性。我只是把

if (resultCode == getActivity().RESULT_OK) 
. 
. 

,而不是

if (resultCode == RESULT_OK) 
. 
. 

這將讓我拿到膨脹片段父活動。

+0

您應該只使用'Activity.RESULT_OK' - 這是一個靜態常量。 – kcoppock