簡體   English   中英

Java Class 從 Kotlin 中的適配器訪問數據

[英]Java Class to access data from Adapter in Kotlin

升級到 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 中是公開的/ package

我只是不明白錯誤是什么,也不明白如何解決它。

字段必須是公開的

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;
}    
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM