1

私はEclipseでZXingプロジェクトを開発しています:

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button b=(Button)findViewById(R.id.button1);
    b.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View view)
        {
        Log.d("test", "button works!");
        Intent intent = new Intent("com.google.zxing.client.android.SCAN");
        intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");
        startActivityForResult(intent, 0);


         b1 = (Button)findViewById(R.id.button111);

        }
        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");


                    Log.i("xZing", "contents: "+contents+" format: "+format);
                    // Handle successful scan
                } 
                else if (resultCode == RESULT_CANCELED)
                {
                    // Handle cancel
                    Log.i("xZing", "Cancelled");
                }
            }

ファインダ パターンの座標がDetectorクラス ( getTopLeftand getTopRightand getBottomLeft) にあることがわかりましたが、それらにアクセスしたい場合、コードにエラーが発生します。これらの変数にアクセスする方法がわかりません。たとえばpublic static FinderPattern topLeft1DetectorクラスとprocessFinderPatternInfo追加するメソッドで a を定義しますtopLeft1=topLeft。結果の後startActivityに追加します:

float m1=Detector.topLeft1.x;
 m2=Detector.topLeft1.y;
 b.setText("(x,y)="+m1+","+m2); 

しかし、プログラムを実行してスキャンするボタンをクリックすると、次のようになります。

残念ながら、zxing は停止しました

画像を投稿するには評判が 10 必要ですが、logcat 画像を投稿できません :-( 誰かすぐに助けてくれませんか? どうもありがとう

4

1 に答える 1

0

問題を解決しました。OnCreate メソッドから OnActivityResult クラスを作成する必要があります。それで全部です!皆さん、ありがとうございました。

于 2013-09-08T08:44:53.527 に答える