猿问

在 Kotlin 中从 Adapter 访问数据的 Java 类

升级到 Kotlin 后,我开始使用 Java 接口从自定义回收器适配器中获取数据。现在在 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 中的公共/包”


我只是不明白错误是什么,也不明白如何修复它。


芜湖不芜
浏览 120回答 2
2回答

泛舟湖上清波郎朗

在Java中,除了public之外,你不能直接访问成员变量,你需要getter/setter来访问它。只需创建 Getter 方法public class SelectedDrink {private String content;private Double qty;public String getContent() {&nbsp; &nbsp; return content;}public Double getQty() {&nbsp; &nbsp; return qty;}&nbsp; &nbsp;&nbsp;}

慕田峪9158850

字段必须是公共的public class SelectedDrink {&nbsp; &nbsp; public String content;&nbsp; &nbsp; public Double qty;}
随时随地看视频慕课网APP

相关分类

Java
我要回答