他の何人かがこの問題を抱えていることは知っていますが、私は解決策に従いましたが、それでもうまくいきません。
新しいアプリケーションを作成しました。1つのアクティビティに1つのボタン(スキャンボタン)と2つのテキストビュー(Zxingが現在返すフォーマット名とコンテンツを出力するだけです)があります。
ScanningViaIntentチュートリアルに従いましたが、ヒットしていないようです。onActivityResult
以下は私のコードです:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final IntentIntegrator integrator = new IntentIntegrator(this);
Button btnScan = (Button) findViewById(R.id.button1);
btnScan.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
integrator.initiateScan();
}
});
}
public void OnActivityResult(int requestCode, int resultCode, Intent intent)
{
Log.i("result", "hit line");
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
TextView tv1 = (TextView) findViewById(R.id.textView1);
TextView tv2 = (TextView) findViewById(R.id.textView2);
if(scanResult != null)
{
System.out.println("format: " + scanResult.getFormatName());
System.out.println("contents: " + scanResult.getContents());
tv1.setText(scanResult.getFormatName());
tv2.setText(scanResult.getContents());
}
else
{
tv1.setText("ERROR");
}
}
TextView1が「エラー」と言うことはないので、scanResultがnullであるとは思われず、Log.i()行がヒットすることonActivityResult
はないので、ヒットすらされていないと思います。
final
OnClick()メソッドのIntentIntegratorを作成することと関係がありますか?OnClick()内にIntentIntegratorを作成したとき、getParent()を使用してActivityをコンストラクターに渡しましたが、この強制により、IntentItegrator内のNullReferenceExceptionでアプリが閉じられました。
ライブラリを正しく使用していますか?
御時間ありがとうございます、
ポンチョ