我正在 Android Studio 的 ListView 上實作 OnItemClickHandler。出于某種原因,當我顯示所選專案時,我得到一個奇怪的字串,而不是單擊的專案的文本:
“com.skupad.skupadmobilekotlin.model.PendingStockOutListResponse@e3a35cc”
如果我單擊串列視圖中的另一個專案,@ 之后的值當然會改變。
索引 0 = "TEST100" 和索引 1 = "TEST1001" 中的值。
我不知道為什么它沒有回傳實際專案。有人可以幫忙嗎?下面是我用來回傳點擊的專案的代碼:
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
我要求的是正確回傳。
uj5u.com熱心網友回復:
看起來你有一個“PendingStockOutListResponse”模型,對吧?
你打電話的時候
lst_pending_stock_out_list_items.adapter.getItem(p2).toString()
您正在將整個物件轉換為字串。
如果您想顯示特定欄位(假設您在“PendingStockOutListResponse”上有“名稱”欄位。
你需要打電話
lst_pending_stock_out_list_items.adapter.getItem(p2).name.toString()
uj5u.com熱心網友回復:
感謝@Felipe Oliviera,我能夠解決這個問題。擺弄他的想法來附加欄位名稱......我做了以下事情:
if (itemValue != null) {
txt_header.text = itemValue.jobReference
}
和“WALLA”......我現在可以看到實際值。
obrigado novamente 菲利普!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/414572.html
標籤:
