Я пытаюсь добавить дополнительные данные (строку) в намерение. Я использую startActivity, чтобы получить дополнительные строковые данные на другой стороне. Но я не могу понять, почему это не работает! Вот мой код: Это целевое действие, откуда я хочу проанализировать свои дополнительные данные - Рецептное задание:
class RecipeActivity : AppCompatActivity() {
for (k in 0..name_arr.size-1) {
if(temp_arr[position]==name_arr[k]){
//to parse the id number of the selected recipe by the user to the next activity
val i = Intent(baseContext, ResRecActivity::class.java)
i.putExtra("ItemPosition",k)
startActivity(i)
}
}
}
Это целевое действие для успешного анализа дополнительных данных - - ResRecActivity:
class ResRecActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_res_rec)
setSupportActionBar(toolbar)
var posit : String = intent.getStringExtra("ItemPosition") //wanting to get the extra data
//BELOW LINE IS THE ERROR LINE
*readJson(posit.toInt())* //Intending to parse the extra data in Integer datatype to readJson Function
}
}
Я получаю сообщение об ошибке:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testarca/com.example.arca.ResRecActivity}: kotlin.KotlinNullPointerException
Caused by: *kotlin.KotlinNullPointerException*
at com.example.arca.ResRecActivity.onCreate(ResRecActivity.kt:37)
Основная цель: Я просто хочу проанализируйте Integer"position" (в моем случае "k") из "RecipeActivity" в "ResRecActivity", чтобы использовать эту целочисленную позицию в другой функции с именем "read Json" в качестве параметра функции , И я пытаюсь добиться этого, используя свойство Intent для обработки между действиями.
Примечание: Также дайте мне аналогичное решение для анализа ArrayList данных из одного действия в другое с помощью намерения.