在 Android Studio (Kotlin) 中从 OnItemClickHandler 获得奇怪的响应
Getting a weird response from an OnItemClickHandler in Android Studio (Kotlin)
我正在 Android Studio 的 ListView 上实现 OnItemClickHandler。出于某种原因,当我显示所选项目时,我得到一个奇怪的字符串,而不是单击项目的文本:
"com.skupad.skupadmobilekotlin.model.PendingStockOutListResponse@e3a35cc"
如果我在列表视图中点击另一个项目,@后面的值当然会改变。
索引 0 中的值 =“TEST100”和索引 1 中的值 =“TEST1001”。
我不知道为什么它不是 return实际项目。有人可以帮忙吗?下面是我用来 return 单击项目的代码:
lst_pending_stock_out_list_items.onItemClickListener =
OnItemClickListener { p0, p1, p2, p3 ->
val item = lst_pending_stock_out_list_items.adapter.getItem(p2).toString()
val itemValue = lst_pending_stock_out_list_items.getItemAtPosition(p2).toString()
txt_header.text = itemValue
}
我也试过:
val item = lst_pending_stock_out_list_items.adapter.getItem(p2).toString()
结果相同
编辑:我想添加加载数据的方式...
// storing for later use
pendingStockOutListArrayList = response.body()!!.result as ArrayList<PendingStockOutListResponse>?
// initialize adapter
baseAdapter =
PendingStockOutListBaseAdapter(context, R.layout.pending_stock_out_list_adapter_view_layout, pendingStockOutListArrayList)
lst_pending_stock_out_list_items.adapter = baseAdapter
我的请求正在 return 正确编辑。
您似乎有一个“PendingStockOutListResponse”模型,对吗?
当你打电话时
lst_pending_stock_out_list_items.adapter.getItem(p2).toString()
您正在将整个对象转换为字符串。
如果您想显示特定字段(假设您在“PendingStockOutListResponse”上有“名称”字段。
您需要致电
lst_pending_stock_out_list_items.adapter.getItem(p2).name.toString()
多亏了@Felipe Oliviera,我才能够解决这个问题。摆弄他的附加字段名称的想法......我做了以下事情:
if (itemValue != null) {
txt_header.text = itemValue.jobReference
}
和“WALLA”...我现在可以看到实际值了。
obrigado novamente Filipe!
我正在 Android Studio 的 ListView 上实现 OnItemClickHandler。出于某种原因,当我显示所选项目时,我得到一个奇怪的字符串,而不是单击项目的文本:
"com.skupad.skupadmobilekotlin.model.PendingStockOutListResponse@e3a35cc"
如果我在列表视图中点击另一个项目,@后面的值当然会改变。
索引 0 中的值 =“TEST100”和索引 1 中的值 =“TEST1001”。
我不知道为什么它不是 return实际项目。有人可以帮忙吗?下面是我用来 return 单击项目的代码:
lst_pending_stock_out_list_items.onItemClickListener =
OnItemClickListener { p0, p1, p2, p3 ->
val item = lst_pending_stock_out_list_items.adapter.getItem(p2).toString()
val itemValue = lst_pending_stock_out_list_items.getItemAtPosition(p2).toString()
txt_header.text = itemValue
}
我也试过:
val item = lst_pending_stock_out_list_items.adapter.getItem(p2).toString()
结果相同
编辑:我想添加加载数据的方式...
// storing for later use
pendingStockOutListArrayList = response.body()!!.result as ArrayList<PendingStockOutListResponse>?
// initialize adapter
baseAdapter =
PendingStockOutListBaseAdapter(context, R.layout.pending_stock_out_list_adapter_view_layout, pendingStockOutListArrayList)
lst_pending_stock_out_list_items.adapter = baseAdapter
我的请求正在 return 正确编辑。
您似乎有一个“PendingStockOutListResponse”模型,对吗?
当你打电话时
lst_pending_stock_out_list_items.adapter.getItem(p2).toString()
您正在将整个对象转换为字符串。
如果您想显示特定字段(假设您在“PendingStockOutListResponse”上有“名称”字段。
您需要致电
lst_pending_stock_out_list_items.adapter.getItem(p2).name.toString()
多亏了@Felipe Oliviera,我才能够解决这个问题。摆弄他的附加字段名称的想法......我做了以下事情:
if (itemValue != null) {
txt_header.text = itemValue.jobReference
}
和“WALLA”...我现在可以看到实际值了。
obrigado novamente Filipe!