我想传递所选项目的一些信息,以便在新活动AboutApp.kt中进行查看,但是在这里,我仅通过一个信息(名称)进行测试。我对RecyclerView没任何问题,它可以工作。我已经看到了很多方法来处理可拆分的ArrayList对象,但是却感到混淆了要执行的活动,因此在MainActivity和AboutApp(目标意图)中出现错误。
一段代码MainActivity.kt在我使用position放置putExtra时,showSelectedHerbal中出现错误
的片段代码,在HerbalName()中出错。我知道我尚未实现可打包,所以它是错误的class MainActivity : AppCompatActivity() { private lateinit var rvHerbal: RecyclerView private var list: ArrayList<Herbal> = arrayListOf() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) rvHerbal = findViewById(R.id.rv_herbal) rvHerbal.setHasFixedSize(true) list.addAll(HerbalData.listData) showRecyclerList() } private fun showRecyclerList() { rvHerbal.layoutManager = LinearLayoutManager(this) val listHerbalAdapter = ListHerbalAdapter(list) rvHerbal.adapter = listHerbalAdapter listHerbalAdapter.setOnItemClickCallback(object : ListHerbalAdapter.OnItemClickCallback { override fun onItemClicked(data: Herbal) { showSelectedHerbal(data) } }) } ........ private fun showSelectedHerbal(data: Herbal) { val moveIntent = Intent(this, AboutApp::class.java) moveIntent.putExtra("Example_Item", list!![position]) this.startActivity(moveIntent) } ....... }
来自[[AboutApp.kt
val intent = intent
val herbalData: HerbalData = intent.getParcelableExtra("Example_Item")
val title: String = herbalData.herbalName()
val itemName = findViewById<TextView>(R.id.item_name)
itemName.text = title
[非常抱歉,我附上一些令我感到困惑的活动,其中一项可能是可实施包裹的正确位置。这是我的数据类Herbal.kt
data class Herbal(
var name: String = "",
var detail: String = "",
var photo: Int = 0
)
对象的区号HerbalData.kt
object HerbalData {
private val herbalName = arrayOf("Cengkeh",
"Ginseng",
"Jahe")
..........
val listData: ArrayList<Herbal>
get() {
val list = arrayListOf<Herbal>()
for (position in herbalName.indices) {
val herbal = Herbal()
herbal.name = herbalName[position]
herbal.detail = herbalDetail[position]
herbal.photo = herbalImage[position]
list.add(herbal)
}
return list
}
}
[帮助我,请在何处写入可拆分ArrayList的活动以及如何修复它。在此先感谢您的帮助。
我想传递所选项目的一些信息,以便在新活动AboutApp.kt中进行查看,但是在这里,我仅通过一个信息(名称)进行测试。我对RecyclerView没任何问题,它可以工作。我有...