Java zxing onActivityResults不点火

Java zxing onActivityResults不点火,java,android,android-intent,zxing,Java,Android,Android Intent,Zxing,我正试图通过zxing使用以下代码从二维码中提取数据(基本上是从教程中复制粘贴的,更改名称以保护无辜者): 它执行得很好,没有错误,但在ActivityResults上从不触发,我甚至收到一个警告: 类型new View.OnClickListener(){}中的activityResult(int,int,Intent)方法从未在本地使用 我完全承认我是一个“活动/意图”noob,因此,如果有人想以教程的形式回答问题,我很乐意接受这一点——我不只是想要一个代码修复程序,我想知道为什么它首先不起

我正试图通过zxing使用以下代码从二维码中提取数据(基本上是从教程中复制粘贴的,更改名称以保护无辜者):

它执行得很好,没有错误,但在ActivityResults上从不触发,我甚至收到一个警告:

类型new View.OnClickListener(){}中的activityResult(int,int,Intent)方法从未在本地使用


我完全承认我是一个“活动/意图”noob,因此,如果有人想以教程的形式回答问题,我很乐意接受这一点——我不只是想要一个代码修复程序,我想知道为什么它首先不起作用。

您的代码中有以下问题

您已经在ActivityResult(int-requestCode、int-resultCode、Intent-Intent)上编写了
public void
方法。把它搬到外面去

您的代码片段应该如下所示

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

            ----
            ----
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);

    if (requestCode == 0) {
              if (resultCode == RESULT_OK) {
                 String contents = intent.getStringExtra("SCAN_RESULT");
                 String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
                 // Handle successful scan
                 EditText passphrase = (EditText) findViewById(R.id.txtPassphrase);
                 passphrase.setText(contents);
              } else if (resultCode == RESULT_CANCELED) {
                 // Handle cancel
              }
           }

}

也许是打字错误。我想还有一个@override符号丢失了。有没有嵌套活动有效的时候?
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

            ----
            ----
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);

    if (requestCode == 0) {
              if (resultCode == RESULT_OK) {
                 String contents = intent.getStringExtra("SCAN_RESULT");
                 String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
                 // Handle successful scan
                 EditText passphrase = (EditText) findViewById(R.id.txtPassphrase);
                 passphrase.setText(contents);
              } else if (resultCode == RESULT_CANCELED) {
                 // Handle cancel
              }
           }

}