android从文本框值读取条形码值

android从文本框值读取条形码值,android,textbox,barcode,Android,Textbox,Barcode,我想制作一个小应用程序,让用户在文本框中输入条形码编号。然后他可以扫描条形码,如果文本框中的条形码编号与扫描的条形码匹配,则会显示一条小消息,称为“匹配” 由于某些原因,我输入的条形码没有找到匹配项,即使我已经给出了我正在扫描的准确条形码编号。我做错了什么 public void onActivityResult(int requestCode, int resultCode, Intent intent) { //retrieve scan result IntentRes

我想制作一个小应用程序,让用户在文本框中输入条形码编号。然后他可以扫描条形码,如果文本框中的条形码编号与扫描的条形码匹配,则会显示一条小消息,称为“匹配”

由于某些原因,我输入的条形码没有找到匹配项,即使我已经给出了我正在扫描的准确条形码编号。我做错了什么

public void onActivityResult(int requestCode, int resultCode, Intent intent) { 
    //retrieve scan result 
    IntentResult scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);

    if (scanningResult != null) {
        String scanContent = scanningResult.getContents();
      //String scanFormat = scanningResult.getFormatName();
        contentTxt.setText(scanContent);
        doSomething();
    }
    else{ 
        Toast toast = Toast.makeText(getApplicationContext(), 
            "No scan data received!", Toast.LENGTH_SHORT); 
        toast.show(); 
    }
}
//Output a message if the barcode matches the code stated in 'scanContent'
public void doSomething(){
    if (codeNumber.getText() == contentTxt.getText()) {
        Toast toast = Toast.makeText(getApplicationContext(), "We have a match!", Toast.LENGTH_LONG);
        toast.show();
    }
    else {
        Toast toast = Toast.makeText(getApplicationContext(), "DOES NOT MATCH!", Toast.LENGTH_LONG);
        toast.show();
    }
}

我猜你来自C世界。欢迎你的朋友

在Java中,不能简单地比较两个字符串实例,因为字符串是一个对象,而不是一个基本类型

通过使用
=
操作数,您可以在Memory中比较两个字符串对象的地址。因为在您的例子中,它们不是同一个对象,所以结果是
FALSE

要比较这些值,请使用:


你在用哪个库?嘿,我确实是C语言的。我尝试了你上面所说的,但我仍然得到“不匹配”的吐司。这是一个全新的问题。弦确实不同。请为codeNumber.getText()和contentTxt.getText()分配一个变量,并调试和检查这些值。实际上,我不得不稍微交换一下。现在工作得很好!谢谢你,谢谢你如果(contentTxt.getText().toString().equals(code.getText().toString()){更新了答案。谢谢。
if (contentTxt.getText().toString().equals(codeNumber.getText().toString())) {