升級(jí)到 Kotlin 后,我開始使用 Java 接口從自定義回收器適配器中獲取數(shù)據(jù)?,F(xiàn)在在 Kotlin 中我現(xiàn)在還不完全理解如何訪問接口。這是我試圖在我的 Kotlin 應(yīng)用程序中使用的 Java 代碼。btOK 是我的 XML 中的一個(gè)按鈕,它收集用戶在 ExpListView 中選擇的所有選定項(xiàng)目(您可以在此處找到完整的代碼),并且由于接口“SelectedDrink”,我能夠訪問數(shù)據(jù)。這里是帶有 ClickListener 的按鈕:btOk.setOnClickListener(view -> { Button button = (Button) view; msg = "Upload!\n"; ArrayList<SelectedDrink> selectedDrinks = expandableListAdapterDrinks.getOrderList(); Gson gson = new Gson(); for (SelectedDrink selectedDrink : selectedDrinks) { msg += "aid=" + selectedDrink.content + "+qty=" + selectedDrink.qty + "\n"; } final String jsonOrder = gson.toJson(selectedDrinks); sendToServer(jsonOrder,sessionId); }});這是界面:public class SelectedDrink { String content; Double qty;}現(xiàn)在在 Kotlin 中,這兩個(gè)男孩給了我一個(gè)錯(cuò)誤:selectedDrink.content selectedDrink.qty那“無法訪問:‘內(nèi)容/數(shù)量’:它是SelectedDrink 中的公共/包”我只是不明白錯(cuò)誤是什么,也不明白如何修復(fù)它。
2 回答

泛舟湖上清波郎朗
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊
在Java中,除了public之外,你不能直接訪問成員變量,你需要getter/setter來訪問它。只需創(chuàng)建 Getter 方法
public class SelectedDrink {
private String content;
private Double qty;
public String getContent() {
return content;
}
public Double getQty() {
return qty;
}
}

慕田峪9158850
TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超7個(gè)贊
字段必須是公共的
public class SelectedDrink {
public String content;
public Double qty;
}
添加回答
舉報(bào)
0/150
提交
取消