2017-05-02 24 views
0

Qrコードを読むと、textViewは変更されません。(質問1)問題点は何ですか?ZxingのAndroid QRリーダー

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(); 


} 
} 

そして、私はQRコードを読み終えたとき、私はresultで新しいactivtyを開始したいです。 (質問2)どうすればいいですか?このコードは使えますか?

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


} 

解決しない場合は、どのように修正する必要がありますか?

答えて

0

setContentView(R.layout.activity_main);handleResultから削除します。参照しているビューを新しいビューに置き換えます。

Resultを意図通りに通信するために、あなたが持っているものは動作しません。 ResultParcelableから継承されておらず、それを意図して動作させることはできません。 Resultからすべての関連情報を取得し、それをIntentのStringにする方がよいでしょう。

+0

これはうまくいきません。qrコードを読むと、camereが止まらない、アクティビティインターフェイスが表示されない –

+0

これを実行します。コンテンツビューに設定したビューを '(*トップレベルビューが何であれinCreate()の中で 'setContentView()'を呼び出した後、findViewById(android.R.id.content); ' 'handleResult()'、 'setContentView(mainView);' – rguessford

関連する問題