Java Class 在 Kotlin 中从 Adapter 访问数据

Java Class to access data from Adapter in Kotlin

升级到 Kotlin 我谈到了一个 Java 接口,我用它来从自定义回收器适配器中获取数据。现在在 Kotlin 中,我现在还不完全了解如何访问界面。这是我的 Java 代码,我正试图在我的 Kotlin 应用程序中运行。

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

那个

"Cannot access: 'content/qty': it is public/package in SelectedDrink"

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

字段必须是 public

public class SelectedDrink {
    public String content;
    public Double qty;
}

你不能直接在Java中访问成员变量,除了public,你需要getter/setter才能访问它。 只需创建 Getter 个方法

public class SelectedDrink {
private String content;
private Double qty;

public String getContent() {
    return content;
}

public Double getQty() {
    return qty;
}    
}