Я ломаю голову над этим.Я новичок в разработке для Android.
Я хочу использовать результат сканирования из ZXING.Я интегрировал ZXING в свое приложение для Android, сканирование работает нормально.Теперь я хочу использовать результат сканирования для обновления TextView в основном упражнении.
Как я могу это сделать?
В настоящее время мой код выполняет следующие действия:
- Открыть главное действие с помощью кнопки.
- При нажатии на кнопку он активирует сканер.
- После сканирования он возвращается к основному действию.
- TextViewпустой и по какой-то причине он возвращается к исходному содержимому после перехода от альбомной к портретной ориентации.
После (2) я хочу использовать отсканированный результат для обновления TextView в основной деятельности (вмой код).
Пожалуйста, помогите, ребята, спасибо.
Мой код:
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
}
}
}
}