【发布时间】:2020-02-20 00:02:45
【问题描述】:
我正在尝试将额外的数据(字符串)放入一个意图中。我使用 startActivity 在另一边获取我的额外字符串数据。 但我不明白为什么它不起作用!这是我的代码: 这是我要从中解析额外数据的目标 Activity——Recipe Activity:
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)
}
}
}
这是成功解析额外数据的 Target Activity -- 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 “位置”(在我的情况下为“k”)从“RecipeActivity”解析为“ResRecActivity”,以便在另一个名为“readJson”的函数中使用该整数位置作为参数功能。 我正在尝试使用 Intent 属性在活动之间进行处理来实现这一点。
注意:还给我一个类似的解决方案,使用意图将 ArrayList 数据从一个活动解析到另一个活动。
【问题讨论】:
标签: android kotlin android-intent android-activity android-pendingintent