我正在使用一个教程将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/”
答案 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
}
}
}
}