我正在为这个问题苦恼。我在安卓开发方面比较新。
我想使用ZXING的扫描结果。我已将ZXING集成到我的安卓应用中,扫描工作正常。现在我想使用扫描结果更新主活动中的TextView。
我该怎么做呢?
目前我的代码执行以下操作:
- 通过按钮打开主活动。
- 点击按钮激活扫描器。
- 扫描后返回主活动。
- TextView为空,并且由于某些原因,在从横屏转换为竖屏时它会回到原始内容。
(2)之后,我想使用扫描结果来更新主活动中的TextView (我的代码中的tv)。
请帮帮我,谢谢。
我的代码:
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button pressToScan = (Button) findViewById(R.id.button1);
pressToScan.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent data = new Intent("com.google.zxing.client.android.SCAN");
data.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(data, 0);
TextView tv = (TextView) findViewById(R.id.scanResult);
tv.setText(data.getStringExtra("SCAN_RESULT"));
}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
String contents = null;
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
contents = data.getStringExtra("SCAN_RESULT");
String format = data.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
}
}