![](/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.