![](/img/trans.png)
[英]How to fetch data from firebase realtime database and display it on spinner
[英]How to display list data from database to spinner based on id properly?
我是 android 工作室的新手。 我正在嘗試顯示基於 NOMOR_KK 的 NAMA_PROSES 列表。 這是我的數據庫示例
NOMOR_KK公司 | 烏魯特 | NAMA_PROSES |
---|---|---|
6666 | 1個 | 貼紙 |
6666 | 2個 | 沖壓,SISIR |
6666 | 3個 | CETAK、PONZ、KELUPAS |
6666 | 4個 | 分揀卷 |
6666 | 5個 | 拉讓 + 櫃台 |
6037 | 1個 | 塗層和處理 |
6037 | 2個 | CETAK全息圖 |
6037 | 3個 | POTONG&SORTIR |
6037 | 4個 | 倒帶和排序 |
當我嘗試顯示基於 NOMOR_KK 的 NAMA_PROSES 時,output 是正確的,如下圖所示,在此處輸入圖片描述
但是當我換到另一個 KK 號碼時,舊 KK 號碼的歷史記錄仍然列出enter image description here
我還在尋找如何清除以前的歷史記錄
自旋JSON.java
private void spinJSON(String response){
try {
JSONObject obj = new JSONObject(response);
if (obj.optString("kode").equals("true")){
dataModels = new ArrayList<>();
JSONArray dataArray = obj.getJSONArray("data");
for (int i = 0; i < dataArray.length(); i++) {
DataModel dataModel = new DataModel();
JSONObject dataobj = dataArray.getJSONObject(i);
dataModel.setNAMA_PROSES(dataobj.getString("NAMA_PROSES"));
dataModels.add(dataModel);
}
for (int i = 0; i < dataModels.size(); i++){
getnamaProses.add(dataModels.get(i).getNAMA_PROSES().toString());
}
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, getnamaProses);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinnerKK.setAdapter(spinnerArrayAdapter);
}
} catch (JSONException e){
e.printStackTrace();
}
}
基本上你的代碼邏輯沒有問題,但是你要注意這一行:
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, getnamaProses);
要在Spinner
中選擇的 String 目標來自此變量getnamaProses
。
似乎getnamaProses
是一個全局變量,因為我看不到你在提供的 function 中聲明它。你只是繼續將 String 添加到getnamaProses
而不清除它。
所以你必須做一些像getnamaProses.clear();
這樣的事情。 在向其添加 String 之前。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.