实现zxing时出错

时间:2012-03-15 13:49:24

标签: android eclipse zxing

我正在使用一个教程将zxing代码实现到我自己的应用程序中。我已经按照可用的代码,但是我收到错误,有人可以建议如何修复错误吗?

package meena.com.android;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;

public class MeenaActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       Button but_previous=(Button)findViewById(R.id.button1);
       but_previous.setOnClickListener(new OnClickListener() {
                public void onClick(View arg0) { 
                    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
                    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
                    startActivityForResult(intent, 0);

                **public void onActivityResult(int requestCode, int resultCode, Intent intent) {**
                       if (requestCode == 0) {
                          if (resultCode == RESULT_OK) {
                             String contents = intent.getStringExtra("SCAN_RESULT");
                             String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
                             // Handle successful scan
                          } else if (resultCode == RESULT_CANCELED) {
                             // Handle cancel
                          }
                      }
                    }



    }
       });
    }

}

带错误的代码行是:       public void onActivityResult(int requestCode,int resultCode,Intent intent); {

我被告知存在语法错误和错位的构造函数,但是这是给出的代码我不确定如何修复它。我使用的教程是“http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/”

1 个答案:

答案 0 :(得分:1)

onActivityResult()是Activity类的一个方法。为了覆盖它,您需要将那块代码移到创建块之外。像这样:

    package meena.com.android;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;

public class MeenaActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       Button but_previous=(Button)findViewById(R.id.button1);
       but_previous.setOnClickListener(new OnClickListener() {
                public void onClick(View arg0) { 
                    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
                    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
                    startActivityForResult(intent, 0);

                }
       });
    }

    public void onActivityResult(int requestCode, int resultCode, Intent intent) {
        if (requestCode == 0) {
            if (resultCode == RESULT_OK) {
                String contents = intent.getStringExtra("SCAN_RESULT");
                String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
                // Handle successful scan
            } else if (resultCode == RESULT_CANCELED) {
                // Handle cancel
            }
        }
    }

}
相关问题