Я новичок в программировании на kotlin и android, и кажется, что этот язык движется довольно быстро, без каких-либо способностей.
Вот две мои основные функции в MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
cameraButton.setOnClickListener {
val callCameraIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
if(callCameraIntent.resolveActivity(packageManager) != null) {
startActivityForResult(callCameraIntent, CAMERA_REQUEST_CODE)
}
}
replaceFragment(ReportsFragment())
bottom_navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener)
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
val dt: Intent? = data
when(requestCode) {
CAMERA_REQUEST_CODE -> {
if(resultCode == Activity.RESULT_OK && data != null) {
//if(data != null) {
//&& data != null){
photoImageView.setImageBitmap(data.extras.get("data") as Bitmap)
}
}
else -> {
Toast.makeText(this, "Unrecognized request code", Toast.LENGTH_SHORT).show()
}
}
}
Кажется, ошибка в блоке "WHEN" onActivityResult.
Я обернул данные (передаваемое намерение) в пустые проверки, попытался объявить их как новое значение с нулевой проверкой, но он постоянно получает одно и то же предупреждение при компиляции:
Небезопасноиспользовать обнуляемый приемник типа Bundle?
Также постоянно говорится об этом устаревшем предупреждении: в этой сборке использовались устаревшие функции Gradle, что делает его несовместимым с Gradle 6.0.
Я переключил Gradleверсия до 5.1.1 и плагин Android Gradle в настоящее время на 3.4.0 (может быть любой из них является частью моей проблемы)