【问题标题】:Error whilst implementing zxing实现 zxing 时出错
【发布时间】:2023-10-10 12:21:01
【问题描述】:

我正在使用教程将 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/”

【问题讨论】:

    标签: android eclipse zxing


    【解决方案1】:

    onActivityResult() 是 Activity 类的方法。为了覆盖它,您需要将该代码块移到您的 on create 块之外。像这样:

        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
                }
            }
        }
    
    }
    

    【讨论】: