Error: onActivityResult overrides nothing

Marcel

New Member
#1
I am programming a speech recognition app in Kotlin for Android.
Mã:
class MainActivity : AppCompatActivity() {
    public override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val intent:Intent = Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH)
            intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM)
        startActivityForResult(intent, REQUEST_CODE)

    }

    override fun onActivityResult(requestCode:Int, resultCode:Int, data:Intent) {
        if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {/*do something*/  }
        super.onActivityResult(requestCode, resultCode, data)
    }
}
Strangly the compiler always finds the Error: 'onActivityResult' overrides nothing.

Documentation of Android states that result of startActivityForResult can be retrived with onActivityResult.

Now the question: how can one get the result of speech recognition using Kotlin?
 

Admin

Administrator
Thành viên BQT
#2
Replace
Mã:
override fun onActivityResult(requestCode:Int, resultCode:Int, data:Intent)
With below code, to make Intent object nullable.
Mã:
override fun onActivityResult(requestCode:Int, resultCode:Int, data:Intent?)
As Intent is declared nullable in parent Activity class. Here is the sample code:
Mã:
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data)
 

Từ khóa phổ biến

You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an alternative browser.

Top