Java 带Zxing的Android QR阅读器

Java 带Zxing的Android QR阅读器,java,android,zxing,Java,Android,Zxing,当我阅读二维码时,textView没有改变。(问题1)问题是什么 public class MainActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler{ private Button buton; private TextView textView; private ZXingScannerView myview; @Override protected void onCreate(Bund

当我阅读二维码时,
textView
没有改变。(问题1)问题是什么

public class MainActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler{


private Button buton;
private TextView textView;
private ZXingScannerView myview;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    buton = (Button)findViewById(R.id.button);
    textView = (TextView)findViewById(R.id.textView);
    buton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            myview = new ZXingScannerView(MainActivity.this);

            myview.setResultHandler(MainActivity.this);
            setContentView(myview);
            myview.startCamera();


        }
    });

}

@Override
protected void onPause() {
    super.onPause();
    myview.stopCamera();
}

@Override
public void handleResult(Result result) {

    setContentView(R.layout.activity_main);
    textView.setText(result.getText().toString());
    myview.stopCamera();


}
}
当我读完二维码后,我想用
result
开始新的活动。 (问题2)我怎么做?这个代码行吗

@Override
public void handleResult(Result result) {
    myview.stopCamera();
    Intent intent = new Intent(getApplicationContext(),SecondActivty.class);
    intent.putExtra("Result",result);
    startActivity(intent);


}

如果没有,我应该如何修复它?

删除
setContentView(R.layout.activity\u main)来自
handleResult
。您正在用新视图替换您有引用的视图


至于传达
结果
的意图,就是说,你所拥有的不会起作用<代码>结果
不会继承自
Parcelable
,您不能只是将其固定在一个意图中并期望它工作。最好是从
结果中获取所有相关信息
,并将其作为字符串放入
意图中。

它不起作用,当读取二维码时,camere不会停止,不显示activity Interface执行以下操作:使用
将您设置的视图保存为内容视图(*无论activity\u main.xml*中的顶级视图是什么)mainView=(*无论activity_main.xml*中的顶层视图是什么)在
onCreate()
中调用
setContentView()
后,然后在
handleResult()
setContentView(mainView);