升級到 Kotlin 后,我開始使用 Java 接口從自定義回收器適配器中獲取數據?,F在在 Kotlin 中我現在還不完全理解如何訪問接口。這是我試圖在我的 Kotlin 應用程序中使用的 Java 代碼。btOK 是我的 XML 中的一個按鈕,它收集用戶在 ExpListView 中選擇的所有選定項目(您可以在此處找到完整的代碼),并且由于接口“SelectedDrink”,我能夠訪問數據。這里是帶有 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;}現在在 Kotlin 中,這兩個男孩給了我一個錯誤:selectedDrink.content selectedDrink.qty那“無法訪問:‘內容/數量’:它是SelectedDrink 中的公共/包”我只是不明白錯誤是什么,也不明白如何修復它。
2 回答

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

慕田峪9158850
TA貢獻1794條經驗 獲得超7個贊
字段必須是公共的
public class SelectedDrink {
public String content;
public Double qty;
}
添加回答
舉報
0/150
提交
取消